相信你们在开发前端的项目时都尝试使用vue-cil之类的脚手架工具来初始化项目,经过这类工具咱们能够快速的获得一个包含webpack、babel和基本框架代码的项目模板极大地提高了开发效率也下降了上手的难度。html
受到这类框架的启发(主要是Next.js)我尝试建立了一个基于koa2+mongoose的后端脚手架工具 Bus(来不及解释了快上车),主要包含如下功能:前端
安装方式:vue
npm install -g bus-core
bus init
// or
npx bus-core init
复制代码
初始化项目:node
cd yourproject
npm install
复制代码
修改配置文件 路径:src/config/index.js 参考如下配置:webpack
{
port: 3000,
mongodb: {
url: 'mongodb://test:test@mongoBaseUrl/test'
}
}
复制代码
运行 npm run dev 成功后打开 http://localhost:3000/api/swagger-htmlgit
ok,项目初始化就完成了(能够看到虽然咱们只声明了3个api接口可是却多了好几个,这些其实都是从commonapi继承过来的)github
你能够经过在bus.config.js中定义一个webpack方法来拓展webpack的设置web
// bus.config.js
module.exports = {
webpack(config) {
let loaders = config.module.rules
loaders.push( {
test: /\.html$/,
loader: 'raw-loader'
})
return config
}
}
复制代码
你能够建立一个在项目根目录建立一个.babelrc文件来拓展babel的设置。注意将bus-core/babel加到presets中mongodb
参考如下示例:数据库
{
"presets" : ["bus-core/babel"],
"env": {
"production": {
"plugins": [
["transform-remove-console", { "exclude": [ "error", "warn", "info"] }]
]
}
}
}
复制代码
bus init
生成一个项目 (如今只提供base模板)
bus dev
开发环境运行.
当你修改代码时会自动重载,代码错误会以下显示.
bus build
将以生产模式优化构建以得到最佳性能,构建后的代码将输出在 build 目录下.
你能够经过如下命令运行构建后的代码:
node ./build/main.js
复制代码
你的应用已经能够发布了!
本文只是对Bus框架的简要说明,若是你想更深刻的了解请移步github(点这里)。
以后计划会推出关系数据库版(基于sequelize),若是你们以为还不错的话请顺手star一下~