我正在编写一个Webpack加载器,并试图弄清楚如何让Webpack进入"识别"在我将npm安装为依赖项之后。我的加载程序名为turbine-loader
,它位于npm作用域@reactor
内,因此可以在node_modules/@reactor/turbine-loader
中找到该程序包。
当我从模块执行require('turbine-loader!../myFile');
然后运行webpack时,我得到:
Module not found: Error: Cannot resolve module 'turbine-loader' in ...
如果,除了上述内容之外,我还把它放在我的webpack配置中:
resolveLoader: {
alias: {
'turbine-loader': require.resolve('@reactor/turbine-loader')
}
}
它开始起作用,但如果我不需要,我不想强迫我的装载机消费者这样做。有人能指出我正确的方向吗?也许可以将一些Webpack docs翻译成简单的英语?谢谢!
答案 0 :(得分:1)
Webpack只是按名称尝试require
您的加载程序。因此,如果您尝试require('turbine-loader!../myFile');
,它将require('turbine-loader')
,即未定义。
相反,您必须将范围名称添加到此require语句:
require('@reactor/turbine-loader!../myFile');
。
alias
:)