/** * 开发环境下启动 webpack dev server */ const path = require('path'); // path const { merge } = require('webpack-merge'); // webpack 配置合并函数 const common = require('./webpack.config.common.cjs'); // webpack 通用配置 const mf = require('./webpack.config.mf.cjs'); // webpack 模块联邦配置 const { RemoteFrontEndModuleRegister } = require('./util-frontend-register.cjs'); // 远程模块注册器 module.exports = (env)=> merge(common, mf,{ mode: 'development', devtool: 'eval', devServer: { client: { overlay: false, }, static: { directory: path.join(__dirname, 'public'), }, compress: false, port: 3000, hot: true, // 保证在出现 404 错误时,能够导航到 index.html historyApiFallback: true, setupMiddlewares: (middlewares, devServer) => { // 注册前端模块到远程服务器 const register = new RemoteFrontEndModuleRegister(devServer); // 延后 5 秒执行, 且每 5 秒执行一次 register.regist(5000,5000); return middlewares; } }, });