相信你們在開發前端的項目時都嘗試使用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一下~