首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack的重复产出

Webpack的重复产出
EN

Stack Overflow用户
提问于 2016-03-20 13:33:22
回答 2查看 2.5K关注 0票数 1

在我的webpack配置文件中,我有通常的输出配置:

代码语言:javascript
复制
output: {
  path: buildPath,
  filename: 'scripts/boundle.min.js'
}

但是,我希望在/build (buildPath)上有一个输出,在有Cordova设置的文件夹中需要另一个输出。目前,我必须复制粘贴/build到科多瓦,但我希望Webpack输出两个重复的输出,而不是在两种不同的路径。这个是可能的吗?

解决方案

在为生产构建(如UglifyJsPlugin)时,我已经有了一些插件,因此我在if-语句中实现了bebraw's解决方案:

代码语言:javascript
复制
if (production) {
  configForCordova = _.assign({}, config)
  configForCordova.output = {
    path: buildPathCordova,
    filename: 'scripts/boundle.min.js'
  }
  module.exports = [config, configForCordova]
} else {
  module.exports = config
}

我只是每周建一到两次生产,所以速度慢就没问题了。&&对Windows不太友好.它似乎只在W10上工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-20 16:10:00

要在webpack内部实现这一点,一个复杂的方法是编写这样的配置:

代码语言:javascript
复制
...

module.exports = [config1, config2]; // alter output per config

问题是,它将运行webpack两次,这将是缓慢的。

考虑一下在webpack之外处理这个问题。您可以在package.json 脚本中轻松地处理它。例如"build": "webpack && cp -rf build cordova_build"

票数 1
EN

Stack Overflow用户

发布于 2018-03-22 21:46:11

只需添加另一个名称不同但源文件相同的条目即可。然后,您可以拥有任意数量的输出文件:

代码语言:javascript
复制
module.exports = {
    entry: {
        foo: 'bar.js',
        foo2: 'bar.js',
        '../path/to/dist': 'bar.js'
    },

    output: {
        path: path.join(__dirname, 'public'),
        filename: '[name].bundle.js',
    }
};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36114374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档