【问题标题】:How to know if a module is being compiled through worker-loader如何知道一个模块是否正在通过 worker-loader 编译
【发布时间】:2018-11-15 09:11:52
【问题描述】:

我的目标是使用新的 DefinePlugin.runtimeValue() 功能有条件地在工作人员中将“typeof window”定义为“未定义”,在工作人员(网络目标)之外定义“对象”

目前,我不满意的代码是:

new webpack.DefinePlugin({
  'typeof window': webpack.DefinePlugin.runtimeValue(function({ module }) {

        const isWorker = module.nameForCondition && /\.worker\./.test(module.nameForCondition());
        return JSON.stringify(isWorker ? 'undefined' : 'object');
    })
}),

我想知道我是否可以通过模块对象检测到 worker-loader。

【问题讨论】:

    标签: webpack worker-loader


    【解决方案1】:

    抱歉打扰了,我自己找到了答案:

    const isWorker = module.parser.state.compilation.compiler.name === 'worker';
    

    【讨论】:

    • 对我来说是module.parser.state.compilation.name.startsWith('worker-loader')。似乎也是module.parser.state.compilation.name === module.parser.state.compilation.compiler.name
    猜你喜欢
    • 2018-10-17
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    相关资源
    最近更新 更多