我正在开发一个 react 项目,我想设置故事书。我收到以下错误,我无法使用 webpack-5-beta-14 升级我的故事书(5.3.7)。
/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js:30
normalModuleFactory.hooks.factorize.tapAsync(
^
TypeError: Cannot read property 'tapAsync' of undefined
我控制台记录了 normalModuleFactory 提供的钩子(Hook),这就是我得到的,
{ resolver:
SyncWaterfallHook {
_args: [ 'resolver' ],
taps: [ [Object] ],
interceptors: [],
call: [Function: lazyCompileHook],
promise: [Function: lazyCompileHook],
callAsync: [Function: lazyCompileHook],
_x: undefined },
factory:
SyncWaterfallHook {
_args: [ 'factory' ],
taps: [ [Object] ],
interceptors: [],
call: [Function: lazyCompileHook],
promise: [Function: lazyCompileHook],
callAsync: [Function: lazyCompileHook],
_x: undefined },
beforeResolve:
AsyncSeriesWaterfallHook {
_args: [ 'data' ],
taps: [ [Object] ],
interceptors: [],
call: undefined,
promise: [Function: lazyCompileHook],
callAsync: [Function: lazyCompileHook],
_x: undefined },
afterResolve:
AsyncSeriesWaterfallHook {
_args: [ 'data' ],
taps: [ [Object], [Object] ],
interceptors: [],
call: undefined,
promise: [Function: lazyCompileHook],
callAsync: [Function: lazyCompileHook],
_x: undefined },
createModule:
SyncBailHook {
_args: [ 'data' ],
taps: [],
interceptors: [],
call: [Function: lazyCompileHook],
promise: [Function: lazyCompileHook],
callAsync: [Function: lazyCompileHook],
_x: undefined },
module:
SyncWaterfallHook {
_args: [ 'module', 'data' ],
taps: [],
interceptors: [],
call: [Function: lazyCompileHook],
promise: [Function: lazyCompileHook],
callAsync: [Function: lazyCompileHook],
_x: undefined }
normalModuleFactory 对象不包含任何称为 factorize 的钩子(Hook),它只有工厂钩子(Hook)。我去检查了 webpack github repo,它有 factorize 钩子(Hook)。我不知道它在哪里被覆盖。任何输入都将帮助我摆脱这个问题。
最佳答案
对我来说问题是,我使用的是 webpack 5 beta,故事书使用的是 webpack 4,它是 webpack 4 和 5 之间的子句。
关于javascript - 无法读取 ExternalModuleFactoryPlugin.js :30 处未定义的属性 'tapAsync',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61153687/