我的需求和 RequireJS 的 empty:
功能相同,详见http://requirejs.org/docs/optimization.html#empty
我的使用场景是在开发过程中包含了 jquery-migrate
,但在生成生产环境时我想排除它。
使用 IgnorePlugin
可以使其不被包含进来,但当在代码中进行require
时,它会抛出一个错误 (Uncaught Error: Cannot find module "jquery-migrate"
)。
我希望的是,在这种情况下,它只是返回未定义或类似的东西(就像 RequireJS 中的 empty:
)。 我希望不需要更改代码中的导入方式,只需配置使其返回 undefined
。
编辑:使用 NormalModuleReplacementPlugin
可行,只需将替换指向一个空文件即可。 但是维护一个空文件只为此目的似乎有些不必要。
import foo fro 'excluded-module'
,没有任何有趣的if (DEV)
包装。想象一下require('excluded-module')
同样有效。 - thom_nicnpm install --save-dev null-loader && npm install --save-dev noop-loader
- diachedelicloader: () => {}
,但仍然出现了“无法解析”的错误。 - Sophie McCarrell