1. nodemon
-
nodemon 的全局安装 * npm i nodemon -g
-
验证nodemon是否安装成功 * nodemon v
-
nodemon的好处 * JS通过node运行可以正常运行但是如果JS更新后node需要重启,利用nodemon就不需要重启 * 替代node去运行JS文件,因为它内部提供的就是node的运行环境
2. express
-
因为这是第三方包所以使用的时候有三个步骤必须要有: * npm init -y (帮助我们创建一个package-json帮我们记录我们所下载的第三方包) * 下载 * 引入到项目中 * 按照说明文档使用
-
app.use('以什么开头','如果符合这个地址那么给他转到什么地方去') * app.use('/static',express.static('要转到的地址'))
-
express()中app的两个方法app.get(),app.post()代表请求方式 * res.send()中可以直接书写为复杂数据类型,不需要转换
js app.get('路径',(req,res)=>{ res.send({}) }) app.post('路径') -
express() 开启一个服务器
-
在get方式被express把参数解析到req.query中
-
express中的body-parser可以帮我们解析post传入参数并且解析到req的body中
-
在post方式不会被express解析参数
js let str = '' req.on('data',(chunk)=>{str += chunk}) req.on('end',()=>{ let params = '' if(req.headers['content-type'] === 'application/json'){ params = JSON.parse(str) } else { params = url.parse('?'+str,true).query } const {username,password} = params res.end(JSON.stringify({ code:1, info:{ username, password } })) })
3. 中间件
-
分类 * 全局中间件:每两个环节中间的那个就是中间件(app.use('以什么开头','函数')),满足这个开头的时候我会执行这个函数,app就是服务器的名字,如果你服务器改名了那你app也要改名,这个use是固定方法,'以什么开头'可以不写,函数:当前中间件需要执行的内容 * 路由中间件:Router.use('以什么开头','函数'),满足这个开头的时候我会执行这个函数,app就是服务器的名字,如果你服务器改名了那你app也要改名,这个use是固定方法,'以什么开头'可以不写,函数:当前中间件需要执行的内容 * 请求级中间件:接口地址与接口处理函数中间添加一个函数,一般用于参数的校验 * 全局错误处理中间件:
-
通过js修改其他文件 * fs.appendFile('要修改的文件路径','要修改的内容','回调函数')
-
中间件特性: * 所有代码进入之后不会再次在外面执行了
-
全局中间件 ```js app.use((req,res,next) => { fs.appendFile('./index.txt','我是要添加的内容',()=>{
})
next() }) // req:请求报文相关的 // res:响应报文相关的 // next:决定进入中间件后是否要继续往下运行 ```