【问题标题】:Conditional require file in webpackwebpack 中的条件 require 文件
【发布时间】:2017-12-08 14:55:33
【问题描述】:

我只想将文件捆绑到我的生产版本中,前提是它不适用于DEBUG

所以我使用了webpack.DefinePlugin 并设置了变量DEBUG === true

还可以使用默认选项配置 webpack.UglifyJsPlugin

在 js 文件中,我是这样做的:

const A = DEBUG === true ? null : require('./some-debug.js');
//do things with A, for example
console.log(A)

我检查了最终的捆绑文件,A被替换为null(所以DefinePlugin工作正常),但some-debug.js文件的内容仍在捆绑js中。

是否可以让 webpack 不需要文件?

ps: 我想我可以使用resolve.alias 来解决'./some-debug.js' --> undefined。但我想保持我的 webpack.config.js 通用,不想应用太多 resolve.alias 条目。

谢谢

【问题讨论】:

    标签: javascript webpack webpack-2 uglifyjs tree-shaking


    【解决方案1】:

    它不适用于三元运算符。

    let A;  
    if (DEBUG === true) {
      A = require('./some-debug.js');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 2017-08-24
      • 2019-08-24
      • 1970-01-01
      相关资源
      最近更新 更多