1

我希望每种语言都有不同的构建。翻译后的字符串将被烘焙到不同的构建中:

/dist
    app-en.js
    app-nl.js
    app-de.js

我知道使用 in webpack.config.js,您可以执行以下操作:

module.exports = [configA, configB]

它将基于configA和构建您的应用程序的两个版本configB

我的项目是基于的vue-cli,所以我没有一个webpack.config.js,只有一个vue.config.js

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

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

4

1 回答 1

1

我最终解决的方法是创建一个单独的构建脚本,它每次都会使用不同的参数调用 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}`)
}
于 2018-10-30T09:01:12.660 回答