koa2+koa-generator+mysql快速搭建nodejs服务器
1. 全局安装koa-generator(不用全局安装koa)
项目名字fast-koa
npm install koa-generator -g
koa2 fast-koa
cd fast-koa
npm install
目录结构如下
-bin // www 项目启动目录 node ./www
-public // 静态网站放置目录 也就是vue dist代码放置的地 项目入口index.html
-routes // 路由
-views // 视图 服务器渲染使用的模板
-app.js // 项目入口
-packaga.json
2. 启动项目
// package.json
"scripts": {
"start": "node bin/www",
"dev": "./node_modules/.bin/nodemon bin/www",
"prd": "pm2 start bin/www",
"test": "echo \"Error: no test specified\" && exit 1"
}
运行npm run dev开启服务器
同时可以看到generator自带了nodemon(Nodemon 是一款非常实用的工具,用来监控你 node.js 源代码的任何变化和自动重启你的服务器)
如下图:服务器启动了
3. 项目入口app.js
// app.js
const Koa = require('koa')
const app = new Koa()
const views = require('koa-views')
const json = require('koa-json')
const onerror = require('koa-onerror')
const bodyparser = require('koa-bodyparser')
const logger = require('koa-logger')
const index = require('./routes/index')
const users = require('./routes/users')
// error handler
onerror(app)
// middlewares
app.use(bodyparser({
enableTypes:['json', 'form', 'text']
}))
app.use(json())
app.use(logger())
app.use(require('koa-static')(path.resolve(__dirname, config.publicPath))))
app.use(views(__dirname + '/views', {
extension: 'pug'
}))
// logger
app.use(async (ctx, next) => {
const start = new Date()
await next()
const ms = new Date() -