nodemon 自动重启服务器,不用手动 ctrl +c 退出, node xx.js
npm instal --global nodemon
使用时将 node 替换成 nodemon 即可。
在express框架 中使用art-template 模板引擎:
安装:
npm install art-template --save
npm install express-art-template --save
//空格同时安装多个
npm install art-template express-art-template --save
注意:安装art-template 是由于express-art-template依赖这个它
配置模板引擎:
app.engine('html', require('express-art-template'))
使用:
res.render('需要渲染的模板页面',{ 模板数据})
res.render('404.html')
注意:response.render()是渲染方法 是加载了模板引擎才可以使用。
如果要修改views 的默认目录。 app.set('views', 目录路径)
response.redirect('页面')重定向方法
express 获取GET请求体数据:
request.query
express 获取POST请求体数据,express内置中没有获取POST请求体数据,需要依赖第三方包 body-parser:
安装:
npm install body-parser --save
配置:
//加载:
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
//配置:
app.use(bodyParser.urlencoded({ extended:false }))
app.use(bodyParser.json())
此时可通过request.body获得POST请求的响应体
使用:
app.post('/pinglun' ,function (req,res) {
res.end(req.body)
})
在express 进行增删改查crud
1.使用bootstrap 提供的样式模板
模块化编程:
将各个模块的职责分开,app.js入口模块,负责模块创建,配置等信息,目的增强代码的可维护性API
router.js 负责路由处理,app.js 与router 连接
方式一:直接导出,缺点导致入门模块改变
modules.exports = app //app.js
var app = require('./app') //router.js
app.get(...)
方式二:通过函数调用
var router = require('./router') //app.js
router(app)
modules.exports = function (app) { //router.js
...
}
方式三:rexpress 专门提供的路由方法
//app.js
4.将路由容器挂在到服务器实例app上
var router = require('./router)
app.use(router)
//router.js
//1.创建·路由容器
var router = express.Router()
//2.将路由挂在到路由容器上
router.get('/' ,function (req ,res) {
...
})
//3.导出路由
modulesl.exports = router
通过fs.readFile获得的是二进制,除了可以使用data.toString 转成字符串以外,还可以在回调函数中传入第二个参数utf8
........
fs.readFile('./db.json','utf8',function (err ,data) {
if ( err) {
return res.send('Server error')
}
//此时的data是json字符串,必须要转成对象
res.render('index.html',{
students:JSON.parse(data).students
})
})