:项目分为多个模块A、B、C,模块之间没有关系。当项目对外发布时,可能需要A+B、A+C等不同的组合。实现思路:通过配置多个路由文件routerA.js和routerB.js,routerA包含A+B模块,路由routerB包含A+C模块,然后通过配置build传递不同的参数来确定替换页面文档中引入的路由.第一步是创建路由文件。RouterA.js和routerB.js是默认路由index.js(包括所有模块)的副本。不同的是引入了不同的模块。第二步在package.json中添加build命令第三步在vue.config.js下添加plugins配置项configureWebpackconstwebpack=require('webpack')configureWebpack:{//providetheapp'stitleinwebpack's名称字段,以便//它可以在index.html中访问以注入正确的标题。name:name,plugins:[newwebpack.NormalModuleReplacementPlugin(/(.*)router\/index|(.*)\/router/,function(resource){constrawArgv=process.argv.slice(2)//获取构建后的参数constparams=rawArgv.join()if(params==='--mis'){resource.request=resource.request.replace(/(.*)router\/index|(.*)\/router/,'@/router/indexB')}elseif(params==='--cis'){resource.request=resource.request.replace(/(.*)router\/index|(.*)\/router/,'@/router/indexA')}})],resolve:{alias:{'@':resolve('src')}}},NormalModuleReplacementPlugin可以代替页面中的导入。具体可以参考webpack文档,执行npmrunbuild:prod时使用默认路由索引。js执行npmrunbuild:prodmis使用默认路由indexA.jsOK
