【问题标题】:How can I get Webpack to resolve my loader如何让 Webpack 解析我的加载程序
【发布时间】:2016-10-16 03:43:54
【问题描述】:

我正在编写一个 Webpack 加载器,并试图弄清楚如何在我将加载器 npm 安装为依赖项之后让 Webpack “识别”它。我的加载器名为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 成简单的英语?谢谢!

【问题讨论】:

    标签: webpack


    【解决方案1】:

    Webpack 只是尝试通过名称require 你的加载器。因此,如果您尝试require('turbine-loader!../myFile');,它将是require('turbine-loader'),这是未定义的。

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

    顺便说一句,对我来说它看起来很丑,我更喜欢你的选择alias:)

    【讨论】:

    • 啊,有道理。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 2022-10-03
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    相关资源
    最近更新 更多