# node-koa **Repository Path**: ZJ97090801/node-koa ## Basic Information - **Project Name**: node-koa - **Description**: node+koa web服务 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-03 - **Last Updated**: 2023-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 一、Node 搭建步骤 1、npm init -y 2、npm install koa ### 二、启动 1、node src/main.js 运行一个 js 文件 2、自动启动 安装 npm install nodemon 监听文件改变或目录改变 、编写脚本 ``` "scripts": { "dev": "nodemon ./src/main.js", "test": "echo \"Error: no test specified\" && exit 1" }, ``` nodemon 开发依赖 安装在开发包 npm install nodemon -D 3、npm run dev 运行 ### 三、读取配置文件 npm install dotenv 读取根目录的.env 文件 将配置写入 process.env.APP_PORT ### 四、路由 处理不同 url 请求 1、npm install koa-router 导入包 2、实例化 3、编写路由 4、注册中间件 ``` const Router = require('koa-router') const userRouter = new Router({ prefix: '/users' }) userRouter.get('/', (ctx, next) => { ctx.body = 'Hello User1!' }) userRouter.get('/zhaojun', (ctx, next) => { ctx.body = 'Hello zhaojun' }) app.use(userRouter.routes()) ``` ### 五 项目结构优化 http 服务和 app 业务拆分 ``` const Koa = require('koa') const app = new Koa() const userRouter = require('../router/user.route') app.use(userRouter.routes()) module.exports = app ------- const { APP_PORT } = require('./config/config.default') const app = require('./app/index') app.listen(APP_PORT, () => { console.log(`server is running on http://localhost:${APP_PORT}`) }) ``` ### 六 解析 body 拆分 service npm install koa-body 或 koa-bodyparser ### 七 sequelize ORM 工具 对象映射关系 npm i sequelize mysql2 数据库驱动 npm i mysql2 ### 八 异常处理机制以及中间件封装 ### 九 密码加密 npm install bcryptjs 加盐加蜜 1、用户合法性校验通过之后、才可以 ### 登陆令牌 jwt:jsonwebtoken + header 头部 + playload 载荷 + signature 签名 ``` npm i jsonwebtoken ``` ### 统一化参数类型校验 ``` npm i koa-parameter 软删除和硬删除->商品列表 ``` ### 购物车 ``` 问题1、 const parameter = require('koa-parameter'); 设置字段为false好像失效、需要找原因 ``` ### 订单 ``` ``` ### Git 步骤 1、git init 初始化 git 2、.gitignore 忽略文件 git add ./ git commit - m '' git push git log --oneline