框架及其相关知识

58 阅读2分钟

1. nodemon

  1. nodemon 的全局安装 * npm i nodemon -g

  2. 验证nodemon是否安装成功 * nodemon v

  3. nodemon的好处 * JS通过node运行可以正常运行但是如果JS更新后node需要重启,利用nodemon就不需要重启 * 替代node去运行JS文件,因为它内部提供的就是node的运行环境

2. express

  1. 因为这是第三方包所以使用的时候有三个步骤必须要有: * npm init -y (帮助我们创建一个package-json帮我们记录我们所下载的第三方包) * 下载 * 引入到项目中 * 按照说明文档使用

  2. app.use('以什么开头','如果符合这个地址那么给他转到什么地方去') * app.use('/static',express.static('要转到的地址'))

  3. express()中app的两个方法app.get(),app.post()代表请求方式 * res.send()中可以直接书写为复杂数据类型,不需要转换 js app.get('路径',(req,res)=>{ res.send({}) }) app.post('路径')

  4. express() 开启一个服务器

  5. 在get方式被express把参数解析到req.query中

  6. express中的body-parser可以帮我们解析post传入参数并且解析到req的body中

  7. 在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. 中间件

  1. 分类 * 全局中间件:每两个环节中间的那个就是中间件(app.use('以什么开头','函数')),满足这个开头的时候我会执行这个函数,app就是服务器的名字,如果你服务器改名了那你app也要改名,这个use是固定方法,'以什么开头'可以不写,函数:当前中间件需要执行的内容 * 路由中间件:Router.use('以什么开头','函数'),满足这个开头的时候我会执行这个函数,app就是服务器的名字,如果你服务器改名了那你app也要改名,这个use是固定方法,'以什么开头'可以不写,函数:当前中间件需要执行的内容 * 请求级中间件:接口地址与接口处理函数中间添加一个函数,一般用于参数的校验 * 全局错误处理中间件:

  2. 通过js修改其他文件 * fs.appendFile('要修改的文件路径','要修改的内容','回调函数')

  3. 中间件特性: * 所有代码进入之后不会再次在外面执行了

  4. 全局中间件 ```js app.use((req,res,next) => { fs.appendFile('./index.txt','我是要添加的内容',()=>{

    })

    next() }) // req:请求报文相关的 // res:响应报文相关的 // next:决定进入中间件后是否要继续往下运行 ```