UNPKG

kef-builder-buffet

Version:

buffet-builder构建工具

64 lines (55 loc) 1.92 kB
"use strict"; const path = require("path"); const fs = require("fs"); const webpack = require("webpack"); const webpackDevMiddleware = require("webpack-dev-middleware"); const webpackDevHotMiddleware = require("webpack-hot-middleware"); const webpackDevConfig = require("./webpack/webpack.dev.config"); const debug = require('debug')('buffet'); // 利用闭包特性,在不同流程中传递实例 let webpackMiddleware; let webpackHotMiddleware; let compiler; module.exports = function (app, opts) { debug('buffet opts is %o', opts); let webpackConfig = webpackDevConfig; let param = { // 它用于决定 webpack 打包编译后的文件,要存放在内存中的哪一个虚拟路径, // 并提供一个 SERVER,将路径和文件映射起来(即使它们都是虚拟的,但依旧可请求的到)。 // 用于标记从内存的哪个路径去存放和查找资源, publicPath: webpackConfig.output.publicPath, noInfo: false, quiet: false, // https://webpack.js.org/configuration/stats/#stats stats: { assets: true, colors: true, publicPath: true, version: true, hash: false, timings: false, chunks: false, children: false, chunkOrigins: false, chunkModules: false, depth: false, modules: false, // maxModules: 10, } }; let paramHot = { // log: console.log, path: "/__webpack_hmr", // 多长时间将心跳更新发送到客户端以保持连接的活动 heartbeat: 2000 } // 生成webpack配置文件 compiler = webpack(webpackConfig); webpackHotMiddleware = webpackDevHotMiddleware(compiler, paramHot); webpackMiddleware = webpackDevMiddleware(compiler, param); app.use(require('express-devtool')({ mockDir: path.join(process.cwd(), 'mock') //定义mock目录 })); app.use(webpackMiddleware); app.use(webpackHotMiddleware); };