Webpack 使用vue cli输出多个网页包版本

Webpack 使用vue cli输出多个网页包版本,webpack,vue-cli-3,Webpack,Vue Cli 3,我希望每种语言有一个不同的版本。翻译后的字符串将烘焙到不同的版本中: /dist app-en.js app-nl.js app-de.js 我知道在webpack.config.js中,您可以执行以下操作: module.exports = [configA, configB] 它将基于configA和configB构建两个版本的应用程序 我的项目基于vue cli,因此我没有webpack.config.js,只有vue.config.js 在vue.config

我希望每种语言有一个不同的版本。翻译后的字符串将烘焙到不同的版本中:

/dist
    app-en.js
    app-nl.js
    app-de.js
我知道在
webpack.config.js
中,您可以执行以下操作:

module.exports = [configA, configB]
它将基于
configA
configB
构建两个版本的应用程序

我的项目基于
vue cli
,因此我没有
webpack.config.js
,只有
vue.config.js

vue.config.js
中,您可以在
configureWebpack
中提供webpack配置,但这必须是一个对象(或返回对象的函数),这意味着我无法为每个生成提供具有不同配置选项的数组


如何使用vue cli构建多个dist?

我最终解决的方法是创建一个单独的构建脚本,该脚本每次都会使用不同的参数调用vue build命令:

//build.js
languages.forEach((language) => {
    execSync(`npx vue-cli-service build --language ${language} --mode ${args.mode}`)
}
在vue.config.js中,我使用minimist从参数中提取给定语言,然后可以指定不同的
outputDir

//vue.config.js
const args = require('minimist')(process.argv.slice(2))
const language = args.language

module.exports = {
    outputDir: path.resolve(__dirname, `dist/${language}`)
}