#express

2021-04-14  本文已影响0人  大佬教我写程序

在文件操作的相对路径中

./data/a.txt 相对于当前路径
data/a.txt 相对于当前路径
/data/a.txt 绝对路径,当前文件模块所处磁盘根目录
c:/xx/xx... 绝对路径

express

修改完代码自动重启

npm install --global nodemon
nodemon app.js
nodemon -version

hello world的小demo

// 0.安装
//1.引包
var express = require('express');
//创建服务器应用程序,相当于原来的http.createServer
var app = express();
//当服务器收到get请求时,调用回调函
app.get('/', function(req, res) {
        res.send('hello world');
    }) 
    //绑定端口号
app.listen(3000, function() {
    console.log('server is running... 3000');
})

基本路由

通过express创建一个公共的public文件夹

在express里使用模板引擎

npm install --save art-template
npm install --save express-art-template
var express = require('express');
var app = express();
// 第一个参数,表示,当渲染以 .art 结尾的文件的时候,使用 art-template 模板引擎(可修改)
app.engine('art',require('express-art-template'))//express-art-template是依赖eart-template包的
// Express 为 Response 相应对象提供了一个方法:render
// render 方法默认是不可以使用,但是如果配置了模板引擎就可以使用了
// res.render('html模板名', {模板数据})
// 第一个参数不能写路径,默认会去项目中的 views 目录查找该模板文件
// 也就是说 Express 有一个约定:开发人员把所有的视图文件都放到 views 目录中
app.get('/', function (req, res) {
  res.render('index.html', {
   title: 'hello world'
  })
})

如果想要修改默认的views 视图渲染存储路径,可以:

//注意:第一个views千万别写错
app.set('views',目录路径)

express中获取get得到的数据:

express中获取post的数据

在express中没有内置获取表单post请求体的API,我们需要第三方包:body-parse

var express = require('express');
//引包
var bodyparse = require('body-parser');
var app = express();
//加入配置,只要加入此配置,require就会多出来一个body属性,所以就可以通过require.body来获取表单post请求的数据了,
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
app.post('/post', function (req, res) {
  // 1. 获取表单 POST 请求体数据
  // 2. 处理
  // 3. 发送响应

  // req.query 只能拿 get 请求参数
  // console.log(req.query)

  var comment = req.body
  comment.dateTime = '2017-11-5 10:58:51'
  comments.unshift(comment)

  // res.send
  // res.redirect
  // 这些方法 Express 会自动结束响应
  res.redirect('/')
  // res.statusCode = 302
  // res.setHeader('Location', '/') 
})

回调函数

image.png
上一篇下一篇

猜你喜欢

热点阅读