Vue中npm run build通过传递参数来分项目打包

802 阅读1分钟

接上一条文章继续分项目打包对应的文件: vue3项目打包时忽略指定目录 - 掘金 (juejin.cn)

目的:使用命令npm run build --projectName实现只打包项目projectName的文件

修改vue.config.js文件如下:

// 解析指令参数
// npm指令需要读取 process.env.npm_config_argv 
const argv = JSON.parse(process.env.npm_config_argv);
console.log("argv值", argv)

// 获取自定义参数
const cooked = argv.cooked;
if(cooked&&cooked.length==3){
  projectName = cooked[2].slice(2)
}
console.log('正在打包的项目:', projectName)

...

chainWebpack(config){ 
    config.module // 规则指定要打包的vue,根据项目打包需要的文件 
    .rule('vue') 
    .test(/\.vue$/) 
    .include 
    .add(resolve('src/App')) 
    .add(resolve('src/components')) 
    .add(resolve('src/layout')) 
    .add(resolve('src/views/basic')) 
    .add(resolve('src/views/'+projectName))// 打包projectName业务 
    .end() 
}

执行命令npm run build --valmet后日志输出:

image.png

注意:-- 一定要是 2 个横杠,后面跟参数