javascript - 从 webpack 包中排除一个模块

标签 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 有效,如果我将替换指向一个空文件。但是为此保留一个空文件似乎没有必要。

最佳答案

我使用 null-loader 来清空模块。 noop-loader 可用于配置中不那么笨拙的 if-else。

尝试:

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

关于javascript - 从 webpack 包中排除一个模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795782/

相关文章:

react-native - 将 svg 与 webpack 和故事书一起使用时出错

javascript - webpack - 将每个 scss 编译成同名的 css 文件

node.js - 创建具有两个配置但具有相同插件的 webpack.config

for-loop - EJS + htmlWebpackPlugin + ejs-compiled-loader。无法使用循环制作导航列表,获取 TypeErrors

javascript - e.preventDefault 仅在第一次操作时

javascript - 我们可以计算两个哈希校验和之间的差异吗?

javascript - CouchApp View 显示为空结果

javascript - 填充 javascript 类型数组的最佳方法?

javascript - 如何在 UIAutomation iOS 的 javascript 中获取文件内容(基本上读取)本地文件

javascript - Angular: utils/util.js -> Uncaught ReferenceError: process is not defined