在我的webpack配置文件中,我有通常的输出配置:
output: {
path: buildPath,
filename: 'scripts/boundle.min.js'
}
但是,我希望/build
(buildPath
)和另一个输出到我有Cordova设置的文件夹。目前我必须将/build
复制粘贴到Cordova,但我希望Webpack在两个不同的路径上输出两个重复的输出。这可能吗?
我已经在构建生产时已经运行了一些插件(例如UglifyJsPlugin
),所以我在if语句中实现了bebraw's解决方案:
if (production) {
configForCordova = _.assign({}, config)
configForCordova.output = {
path: buildPathCordova,
filename: 'scripts/boundle.min.js'
}
module.exports = [config, configForCordova]
} else {
module.exports = config
}
我每周只生产一到两次生产,所以它没有问题,因为它很慢。 &&
对Windows不太友好。它似乎只适用于W10。
答案 0 :(得分:2)
只需添加一个名称相同但源文件相同的第二个条目。然后,您可以拥有任意数量的输出文件:
module.exports = {
entry: {
foo: 'bar.js',
foo2: 'bar.js',
'../path/to/dist': 'bar.js'
},
output: {
path: path.join(__dirname, 'public'),
filename: '[name].bundle.js',
}
};
答案 1 :(得分:1)
在webpack中实现此目的的一种复杂方法是编写如下配置:
...
module.exports = [config1, config2]; // alter output per config
问题是它将运行webpack两次,这将会很慢。
考虑在webpack之外处理这个问题。您可以在package.json
脚本中轻松处理。例如。 "build": "webpack && cp -rf build cordova_build"
。