如何让Webpack解析我的加载器

时间:2016-10-16 03:43:55

标签: webpack

我正在编写一个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翻译成简单的英语?谢谢!

1 个答案:

答案 0 :(得分:1)

Webpack只是按名称尝试require您的加载程序。因此,如果您尝试require('turbine-loader!../myFile');,它将require('turbine-loader'),即未定义。

相反,您必须将范围名称添加到此require语句: require('@reactor/turbine-loader!../myFile');

是的,对我来说,它看起来很丑陋,我更喜欢你选择alias:)