项目构建自动化管理平台 Road Map 项目开发保持嵌入式的原则,不依赖任何第三方数据库或者redis等模块 项目使用cluster模式运行: 1 master 1 worker 方式共享内存
- nodejs 7.6+
- koa2
- socket.io
- react
- webpack2
- nedb
yarn start启动服务 后台进程(暂不支持windows) 默认端口1357yarn stop停止服务yarn reload重启服务yarn web启动web服务 默认端口1355yarn server服务端开发环境 默认端口1357yarn devweb 与 服务端开发环境 默认端口1355&1357yarn buildreact 生成正式环境代码yarn watch联机调试yarn log显示服务器日志
传统的api 架构:
socket.on('member.index.list', async(d) => {
let members = await db.model('member').findAsync({})
members.map((v) => {
v.updateAt = moment(v.updateAt).fromNow()
v.createAt = moment(v.createAt).fromNow()
})
socket.emit('member.index.list', {code: 0, msg: '', data: members})
})
新socket api的开发方式为
async list(data,cat){
let members = await db.model('member').findAsync({})
members.map((v) => {
v.updateAt = moment(v.updateAt).fromNow()
v.createAt = moment(v.createAt).fromNow()
})
this.success(cat,members)
}
根据约定大于配置的方式把api简化开发,客户端调用为 socket.on('home.index.index',cb) or socket.emit('home.index.index',data)
- 验证UI与api之间的联调,可以执行
yarn dev或者yarn dev && yarn server - 双开发模式建议下载一个 nodemon,然后执行
yarn dev&nodemon ./app/server
sudo npm install -g eslint babel-eslint eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise@latest eslint-plugin-standard