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

React项目遇SyntaxError: Unexpected token '<'错误,求助解决方案

解决React+Storybook中SyntaxError: Unexpected token '<'的问题

这个错误通常是JSX语法未被正确转译导致的,以下是具体排查和解决步骤:

1. 检查文件扩展名

将组件和stories文件的扩展名从.js改为.jsx(如果用TypeScript则改为.tsx)。部分配置默认不会对.js文件转译JSX,修改后重启Storybook即可。

2. 验证Babel配置

在项目根目录的babel.config.js或.babelrc文件中,确认包含@babel/preset-react预设,示例配置:

{
  "presets": [
    "@babel/preset-env",
    ["@babel/preset-react", { "runtime": "automatic" }]
  ]
}

若没有该文件,直接创建并添加上述配置,之后重新安装依赖并启动Storybook。

3. 调整Storybook配置

在.storybook/main.js中,确保配置能正确识别stories文件并处理JSX,示例配置:

module.exports = {
  stories: ["../src/**/*.stories.jsx"],
  addons: ["@storybook/addon-links", "@storybook/addon-essentials"],
  framework: "@storybook/react",
  webpackFinal: (config) => {
    config.module.rules.push({
      test: /\.(jsx|js)$/,
      exclude: /node_modules/,
      use: {
        loader: "babel-loader",
        options: {
          presets: ["@babel/preset-react", "@babel/preset-env"],
        },
      },
    });
    return config;
  },
};

4. 确认依赖版本兼容性

检查React与Storybook版本是否匹配:

  • React 18需要Storybook 6.5.12及以上版本
  • 运行npm list react @storybook/react查看版本,若不兼容,执行升级命令:
npx storybook@latest upgrade

完成以上操作后重启Storybook,问题即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:13:28