创建node项目
mkdir myapp
cd server
npm init -y
全局安装
npm install -g apidoc(接口文档)
npm install -g pm2(安装pm2)
项目必装
npm install --save koa
npm install --save koa-body
npm install --save koa-router
npm install --save mysql(操作mysql)
npm install koa2-cors(处理前后端分离开发时的cors跨域)
项目选装
npm install --save @alicloud/pop-core(阿里云短信)
npm install --save axios
npm install --save bignumber.js(数学计算)
npm install --save cuid(用于创建主键的随机数)
npm install --save ioredis(操作redis)
npm install --save jsonwebtoken(JSON Web Token 即JWT是目前最流行的跨域认证解决方案)
npm install --save lodash(操作数组、对象的工具集)
npm install --save moment(处理时间、日期的函数)
npm install --save cheerio(服务端dom操作)
npm install --save koa2-cors(针对浏览器的Ajax请求跨域的主要解决方案有:JSONP、CORS)
npm install --save pdf-merge(pdf操作函数)
npm install --save shuffle-array(乱序排列)
npm install --save wkhtmltopdf (将html转成pdf)
npm install --save xml2js(xml转json)
在项目根目录创建app.js
//引入模块
const Koa = require('koa');
const Router = require('koa-router');
const fs = require('fs');
const cors = require('koa2-cors');
//初始化
const app = new Koa();
const router = new Router();
//动态匹配路由
let files = fs.readdirSync(__dirname + '/src/controller/');
files.forEach((file) => {
let controller = require(__dirname + '/src/controller/' + file);
router.use('/' + file.replace('.js', ''), controller.routes(), controller.allowedMethods());
});
app.use(cors());
app.use(router.routes());
//监听端口、启动程序
app.listen(3000);