代码之家  ›  专栏  ›  技术社区  ›  Franck Freiburger

如何知道模块是否正在通过worker loader编译

  •  0
  • Franck Freiburger  · 技术社区  · 6 年前

    我的目标是使用新的DefinePlugin.runtimeValue()功能有条件地将工作进程中的“typeof window”定义为“undefined”,并在工作进程之外定义“object”(web目标)

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

    new webpack.DefinePlugin({
      'typeof window': webpack.DefinePlugin.runtimeValue(function({ module }) {
    
            const isWorker = module.nameForCondition && /\.worker\./.test(module.nameForCondition());
            return JSON.stringify(isWorker ? 'undefined' : 'object');
        })
    }),
    

    我想知道是否可以通过module对象检测worker loader。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Franck Freiburger    6 年前

    对不起,我自己找到了答案:

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