webpack TypeError: Cannot read property 'resolved' of undefined

webpack TypeError: Cannot read property 'resolved' of undefined

我目前正在使用 webpack(版本 5.50.0)和 Storybook(版本 6.3.7)开发一个项目。此项目中的 stories 目录在 storybook 目录

在将 webpack 更新到版本 5.51.1 期间,我遇到了以下错误 当我 运行 npm run storybook:

10% building 0/15 entries 21/55 dependencies 1/17 modules/Users/dsudol/development/projects/ca_projects/Test/node_modules/webpack/lib/FileSystemInfo.js:816
        if (entry.resolved !== undefined) return entry.resolved;
                  ^

TypeError: Cannot read property 'resolved' of undefined
    at getResolvedTimestamp 

这是我的 main.js 配置

'use strict';

const path = require('path');

module.exports = {
  stories: [
    './**/*.stories.@(js|jsx|ts|tsx|mdx)'
  ],
  core: {
    builder: 'webpack5'
  },
  addons: [
    '@storybook/addon-links',
    '@storybook/addon-docs',
    '@storybook/addon-contexts/register',
    '@storybook/addon-controls',
    {
      name: '@storybook/addon-essentials',
      options: {
        backgrounds: true
      }
    }
  ]
};

如何在不将 stories 移出故事书目录或使用像 './stories/**/*.stories.@(js|jsx|ts|tsx|mdx)'.

这样的显式路径的情况下解决这个

重现技巧

使用 React(我没有 npm install create-react-app)、webpack 和 Storybook 创建一个简单的应用程序。将 stories 目录移动到 .storybook 目录中。然后相应地更改 main.js 中的路径和 运行 npm run storybook.

这已在 Webpack 5.51.2 中修复,因此您需要更新。

延伸阅读: