从webpack包

时间:2015-04-22 11:14:52

标签: javascript webpack

我喜欢与RequireJS相同的功能empty: http://requirejs.org/docs/optimization.html#empty

我的用例是我将jquery-migrate包含在开发中,但我想在为生产而构建时将其排除在外。

使用IgnorePlugin只是不包含它,当require在代码中时,它会抛出错误(Uncaught Error: Cannot find module "jquery-migrate")。

我想要发生的只是返回undefined或类似内容(如RequireJS中的empty:)。我希望不要触及代码中的导入,只需将其配置为返回undefined

编辑:如果我将替换指向空文件,则使用NormalModuleReplacementPlugin有效。但是为此保留一个空文件似乎是不必要的。

1 个答案:

答案 0 :(得分:17)

我使用null-loader来消隐模块。 noop-loader可以用于配置中较不尴尬的if-else。

尝试:

rules: [{
    test: /jquery-migrate/,
    use: IS_DEV ? 'null-loader' : 'noop-loader'
}]