- brew install nvm // brew是os的软件管理工具
- nvm list // 查看当前所有node版本
- nvm install v10.13.0 // 安装指定的版本
- nvm use --delete-prefix 10.13.0 // 切换到指定node版本
npm init npm i lodash --save // nodejs中比较常用的工具库,类似前端的underscore
利用vscode的debugger工具
- 服务稳定性
- 考虑内存和cpu(优化)
- 日志记录
- 安全
- 集群和服务拆分 以上几点将如何在nodejs中解决??
- 目标:博客项目, 只开发server端,不关心前端,使用三种方式开发: 原生,express, koa
- 需求: 首页,作者主页,博客详情页 登录页 管理中心,新建页,编辑页
- 技术方案 数据如何存储 如何与前端对接,即接口设计
- 浏览器进行DNS解析,建立tcp连接(三次握手),发送http请求;(DNS解析:域名解析成ip地址及端口 )
- serve接受请求,处理数据,并返回数据
- 浏览器接受到数据,处理数据,渲染页面,执行js
- get请求和querystring
- post请求和postdata
- 路由
- get请求,即客户端要向server端获取数据,如查询博客列表
- 通过querystring来传递数据,如a.html?a=100&b=200
- 浏览器直接访问,就发送get请求 const querystring = require('querystring') req.method // GET req.url res.writeHead() req.query = querystring.parse(url.split('?')[1]) // url = req.url res.end()
- post请求,即客户端要像服务端传递数据,如新建博客
- 通过post data传递数据
- 浏览器无法模拟,使用postman req.method // POST req.headers['content-type'] req.on('data',()=>{}) req.on('end',()=>{})
- cross-env设置环境变量, 兼容mac linux和window
- npm init -y // -y即yes,在init时候省去了敲回车的步骤,生成默认的package.json
- 初始化路由