【问题标题】:Webpack dynamic require with loaders in require statementWebpack 动态要求在 require 语句中带有加载器
【发布时间】:2015-10-03 20:58:13
【问题描述】:

是否可以在 require 语句中将动态 requirerequire.context 与显式加载器一起使用?我希望能够做这样的事情,但它不适合我:

var req = require.context('../somedir', false, /\.js$/);
var imported = req('my-loader!' + someModulePath); // someModulePath defined above somewhere

当我尝试这个时,我得到一个“找不到模块”错误,这使得 webpack 似乎将字符串的 my-loader! 部分视为文件路径的开头,但我希望 my-loader! 被识别作为加载器,如下所述:https://webpack.github.io/docs/using-loaders.html#loaders-in-require

【问题讨论】:

    标签: javascript webpack


    【解决方案1】:

    加载器在编译时只运行一次,这意味着在你的require.context 被编译之后,它只是纯 Javascript。你可以这样写:

    var req = require.context("my-loader!../somedir", false, /\.js$/);
    var imported = req(someModulePath);
    

    require.context 返回的函数在运行时进行评估。

    【讨论】:

    • 谢谢。我需要在加载程序之前添加一个额外的感叹号 - !my-loader!../somedir
    猜你喜欢
    • 2016-02-27
    • 1970-01-01
    • 2016-06-04
    • 2017-10-07
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 2018-06-05
    相关资源
    最近更新 更多