javascript - 无法读取 ExternalModuleFactoryPlugin.js :30 处未定义的属性 'tapAsync'

标签 javascript node.js reactjs webpack storybook

我正在开发一个 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/

相关文章:

reactjs - creactAsyncThunk 中的 action.payload 未定义

javascript - 删除第二个 tr 元素上的第一个链接

javascript - 模板内容是一个空文档片段

javascript - 选择时更改下拉菜单的背景颜色

javascript - 如何在nodejs中完成每个调度作业后清除内存?

node.js - NPM install --global 命令代理问题

node.js - Socket.io 的文档?

javascript - 如何将 React.memo 应用于数组中的所有组件?

javascript - 检查 2 个框之间的一系列复选框

javascript - React/Nextjs - 知道什么页面在 _app.js 上呈现