mkdir AceNode && cd AceNode
- vi package.json
- 在 packabe.json 中添加以下内容
{
"name": "ace-node",
"version": "1.0.0",
"description": "backend for ace",
"main": "./src/app.js",
"scripts": {
"start": "nodemon node ./src/app.js",
"build": "babel ./src/app.js -d dist"
},
"keywords": [
"koa",
"async"
],
"author": "爱谁谁",
"license": "1.0",
"dependencies": {
"@types/async": "^3.0.3",
"@types/koa": "^2.0.51",
"@types/koa-bodyparser": "^4.3.0",
"@types/koa-json": "^2.0.18",
"@types/koa-logger": "^3.1.1",
"@types/koa-router": "^7.0.42",
"@types/koa2-cors": "^2.0.1",
"@types/mysql": "^2.15.7",
"async": "^3.1.0",
"http-proxy-middleware": "^0.20.0",
"koa": "^2.11.0",
"koa-bodyparser": "^4.2.1",
"koa-error": "^3.2.0",
"koa-json": "^2.0.2",
"koa-logger": "^3.2.1",
"koa-router": "^7.4.0",
"koa-service": "^1.0.1",
"koa-static": "^5.0.0",
"koa2-cors": "^2.0.6",
"mysql": "^2.17.1",
"mysql2": "^2.0.0",
"nodemon": "^1.19.4",
"sequelize": "^5.21.2"
},
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.4.0",
"@babel/preset-env": "^7.4.2",
"@babel/register": "^7.4.0",
"typescript": "^3.6.4",
"mocha": "^5.2.0"
}
}
- 贴上目录结构
.
├── app.js
├── controller
│ └── userController.js
├── middleware
├── modle
│ └── user.js
├── mysql.js
├── routes
│ └── index.js
├── sequelize.js
└── service
├── index.js
└── userService.js
5. 后台代码就不一一贴上来了,感兴趣的同学可以到我的 git 看看。
走你。
6. 差点忘了,说一下数据库连接的配置。
sequelize.js 这个文件就是连接数据库用的,该项目中的所有增删改查都要过这个文件。
给大家贴上来看看
const Sequlice = require('sequelize');
const sequelize = new Sequlice('你的数据库名字', '用户名', '密码', {
host: '数据库 host',
dialect: 'mysql',
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000,
},
});
module.exports = sequelize;
注:用 sequelize 的时候不需要再去 mysql 手动创建数据表了,只需要一个映射文件就行,就是我代码中的 modle/user.js 文件。具体使用方法参考 sequelize 使用方法。你肯定能看懂。
7. 如果要做增删改查的操作可能需要一点 sql 基础,大家可以先熟悉一下,然后去 sequelize 官网看文档,不然可能会有点压力。
8. 到此,后台基本结束,下一篇分享把前后端两个项目打包成 docker 镜像,并运行起来。