You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

StoryBook构建报错:Cannot read properties of null (reading 'babel')

问题

执行StoryBook构建命令:

cross-env NODE_PATH="src" build-storybook -c .storybook -o docs

时触发以下错误:

TypeError: Cannot read properties of null (reading 'babel')
ERR!     at _callee$ (node_modules\@storybook\react\node_modules\@storybook\telemetry\dist\cjs\storybook-metadata.js:194:52)
ERR!     at tryCatch (node_modules\regenerator-runtime\runtime.js:63:40)
ERR!     at Generator.invoke [as _invoke] (node_modules\regenerator-runtime\runtime.js:294:22)
ERR!     at Generator.throw (node_modules\regenerator-runtime\runtime.js:119:21)
ERR!     at asyncGeneratorStep (node_modules\@storybook\react\node_modules\@storybook\telemetry\dist\cjs\storybook-metadata.js:66:103) 
ERR!     at _throw (node_modules\@storybook\react\node_modules\@storybook\telemetry\dist\cjs\storybook-metadata.js:68:291)
ERR!     at processTicksAndRejections (node:internal/process/task_queues:96:5)

但启动命令cross-env NODE_PATH="src" start-storybook可正常运行StoryBook。当前.storybook/config.jsx配置如下:

// .storybook/config.jsx
module.exports = {
  stories: ['../src/**/*.stories.tsx'],
  babel: async options => ({
    ...options,
    presets: [['@babel/preset-react', {runtime: 'automatic'}]]
  })
};

解决方法

1. 将babel配置改为同步函数

构建流程中的telemetry模块不支持异步babel配置函数,移除async关键字即可:

// .storybook/config.jsx
module.exports = {
  stories: ['../src/**/*.stories.tsx'],
  babel: options => ({
    ...options,
    presets: [['@babel/preset-react', {runtime: 'automatic'}]]
  })
};

2. 禁用StoryBook telemetry功能

如果不想修改配置结构,可通过两种方式禁用telemetry:

  • 在构建命令中添加环境变量:
    cross-env NODE_PATH="src" STORYBOOK_TELEMETRY_DISABLED=1 build-storybook -c .storybook -o docs
    
  • 在配置文件中添加禁用项:
    // .storybook/config.jsx
    module.exports = {
      stories: ['../src/**/*.stories.tsx'],
      babel: async options => ({
        ...options,
        presets: [['@babel/preset-react', {runtime: 'automatic'}]]
      }),
      telemetry: false
    };
    

3. 升级StoryBook版本

该问题是旧版本StoryBook的telemetry模块bug,升级到v6.5及以上的稳定版本即可修复:

npx sb upgrade

内容的提问来源于stack exchange,提问作者FieryCat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:15:09