# koa2-server **Repository Path**: zh423328/koa2-server ## Basic Information - **Project Name**: koa2-server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-07 - **Last Updated**: 2024-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### npm操作 ``` npm init -y ``` ### 自动重启工具 ``` package.json 中添加dev nodemon ./src/main.js ``` ### 配置文件 dotenv ``` vue 中的.env文件 //读取配置文件 const dotenv = require('dotenv'); dotenv.config(); 这样就可以操作process.env了 ``` ### 路由配置 koa-router ### body解析 ``` koa-body const { koaBody } = require('koa-body'); app.use(koaBody({ multipart: true, })) ``` ### 数据库操作 ``` sequelize orm 数据库操作工具 npm install sequelize --save 安装mysql驱动 npm install mysql2 --save const { Sequelize } = require('sequelize') const sequelize = new Sequelize({ dialect: 'mysql', host: process.env.MYSQL_HOST, username: process.env.MYSQL_USER, password: process.env.MYSQL_PASSWORD, database: process.env.MYSQL_DB, port: process.env.MYSQL_PORT, logging: false }) sequelize.authenticate().then(() => { console.log('数据库连接成功') }) ``` ### 统一异常处理 ``` //统一异常处理 app.on('error', (err, next) => { }) ``` ### 用户token ``` npm install jsonwebtoken --save const jwt = require('jsonwebtoken') //签发token let token = jwt.sign({ id: res.id, username: res.username, phone: res.phone }, process.env.JWT_SCRET, { expiresIn: '1h' }) ``` ### 支持es6导入语法 ``` npm i @babel/core @babel/cli @babel/node @babel/plubin-transform-runtime @babel/preset-env --save-dev ``` ### 日志处理 ``` koa-log4 npm i koa-log4 --save ``` ### 美观的输出JSON response的Koa中间件 ``` npm i koa-json --save ``` ### 跨域koa2-cors ``` npm i koa2-cors --save ``` ### type modules //"type": "module", 只能为es模块