AngularClass / angular2-webpack-starter:从webpack config中排除模拟文件,用于PROD构建

时间:2017-01-12 12:01:15

标签: javascript angular webpack

我正在使用AngularClass/angular2-webpack-starter并且我一直在努力使用webpack配置,虽然我想要实现的目标看起来非常简单。

基本上,我在src\assets\mock\data中有一些模拟文件,我想保留在 dev 版本中,但是我想从 prod 构建。这些模拟文件应根据其名称的正则表达式从 prod 构建中排除(我尝试了几种类似exclude: [/^mock\.data\..*\.json$/]或文件夹的方式,或者至少列出所有。

使用webpack.dev.js构建的 dev 很好,但我一直在修补webpack.prod.js文件,直到现在都无济于事。

有人能指出我正确的方向吗?谢谢。

1 个答案:

答案 0 :(得分:1)

上下文: angular2-webpack-starter

构建任务期间的资产文件夹重新复制由webpack插件即CopyWebpackPlugin处理。默认情况下,它仅在 webpack.common.js 中设置。 要实现您的目标,您应该在两个环境中执行相同的任务。这样您就可以排除不需要的文件。

  1. webpack.common.js

    new CopyWebpackPlugin([
      { from: 'src/meta'}
    ])
    
  2. webpack.dev.js

    new CopyWebpackPlugin([
      { from: 'src/assets', to: 'assets' }
    ])
    
  3. webpack.prod.js

    new CopyWebpackPlugin([
      { from: 'src/assets', to: 'assets', ignore: ['mock/data/*'] }
    ])