「这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战」
前言
express 是node 服务端的一个框架,类似php 的yii tp 框架
安装express
express 基于node,首先你要安装node,这里要使用8.0 以上的版本,以支持es6 语法
找到一个目录, 新建一个文件
Mkdir nodeTest
安装默认配置生成package.json文件
npm init -y
全局安装
npm install -g express-generator
生成项目
express myapp
在开发环境下,往往需要一个工具来自动重启项目工程,这里我们使用 nodemon
跨平台设置环境变量 这里我们使用 cross-env
npm i nodemon cross-env --save-dev
修改package.json 文件
"scripts": {
"start": "node ./bin/www",
"dev": "cross-env NODE_ENV=dev nodemon ./bin/www"
},
关于nodemon 可以参考
关于cross-env 可以参考
这样,我们可以使用 npm run dev 来启动后,修改的文件会自动重新node 服务进程
关于 express 的中间件
中间件函数能够访问请求对象 (req
)、响应对象 (res
) 以及应用程序的请求/响应循环中的下一个中间件函数。下一个中间件函数通常由名为 next
的变量来表示。
中间件函数可以执行以下任务:
- 执行任何代码。
- 对请求和响应对象进行更改。
- 结束请求/响应循环。
- 调用堆栈中的下一个中间件函数。 app.use([path], function)
如果当前中间件函数没有结束请求/响应循环,那么它必须调用 next()
,以将控制权传递给下一个中间件函数。否则,请求将保持挂起状态。
Express 应用程序可以使用以下类型的中间件:
您可以使用可选安装路径来装入应用层和路由器层中间件。 还可以将一系列中间件函数一起装入,这样会在安装点创建中间件系统的子堆栈。
推荐一个超级好的描述中间件的文档 expressjs.com/zh-cn/guide… 中间件是重点,建议大家都看一下
安装express-session
有需要我们需要对session进行管理
npm i express-session --save
使用
//在app.js中引入
const session = require('express-session');
//在解析cookie 后调用
//app.use(cookieParser());
app.use(session({
secret:'asf@lkjJ_SDF323',
cookie:{
path:'/',
httpOnly:true,
maxAge:24 * 60 * 60 *1000
}
}))
安装 redis
有时候我们需要redis redis 的使用可以参考 这篇文章