Express总结
开发前准备:
nodejs
sudo npm install express-generator -g 初始化器
express 初始化项目
npm run start 启动
sudo npm install -g nodemon 自动化工具
"devstart": "nodemon ./bin/www"
使用
//开启静态服务器
// app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static('public'));
app.use('/static',express.static('public'));// 给静态资源添加自定义路径
app.use(express.static('static'));可以指定多个目录作为静态资源文件
静态路径是上边,动态路径叫路由。
HTTP请求方式: 增删改查,post,get,put,delete
post 增加
get 查询
put 更新
delete 删除
var express = require('express')
var router = express.Router()
//express.Router类,创建模块化安装路径的处理程序。
//app.route()函数,创建可链接的途径处理程序的路由路径。
var json = {
name:'fan',
sex: 1,
age: 28,
uid: 12
}
// http://localhost:3000/fan/
router.get('/', function (req,res,next) {
res.send(json)
next()
})
router.post('/', function (req,res,next) {
res.send('post data')
next()
})
router.put('/', function (req,res,next) {
res.send('put data')
next()
})
router.delete('/', function (req,res,next) {
res.send('delete data')
next()
})
// use 可以以上4种请求,统一处理
router.use('/',function (req,res,next) {
res.send('use 监听所有的请求')
next('route')//跳转下一个路由
})
module.exports = router
next(‘route’)//跳转下一个路由
模板引擎
// 模板引擎
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
响应response
渲染
res.render(‘login’, {title: ‘用户登录’, message:’message 消息变量’})
res.send 文本
// 返回json数据
res.json(user)
设置浏览器存储 cookie:res.cookie(‘token’,token);
获取cookie: $.cookie(‘token’) 需要依赖 jquery.cookie.js
状态保持
session 或 token
推荐使用token
yarn add jsonwebtoken token第三方库
// 进行加密的方法
// sing 参数一:加密的对象 参数二:加密的规则 参数三:对象
let token = jwt.sign({
username: username
}, 'secret-abc', {
expiresIn: "1h"
})
// server 拿到token
req.get('Authorization')
// 验证token合法性 对token进行解码
jwt.verify(token, 'secret-abc', function (err, decode) {
if (err) {
res.json({
msg: '当前用户未登录'+err
})
} else {
// 证明用户已经登录
res.json(
username: decode.username,
msg: '已登录'
})
}
})
发布
npm build后生成的编译文件放在dist目录中
将此目录中的文件方法服务端即可,访问index.html
Error
问题:引入bootstrap..min.css的时候出现了URL:bootstrap.min.css.map 404的错误。
解决方法:
将bootstrap.min.css里的最后一行
/*# sourceMappingURL=bootstrap.min.css.map */删除即可