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

使用tsdx构建React组件库时遇TypeScript语法解析错误求助

解决tsdx build时TypeScript类型语法报错的问题

看起来你的问题出在tsdx 0.14.0默认的Babel配置没有正确处理TypeScript的类型定义语法(比如type关键字)。虽然Storybook能正常运行,那是因为Storybook通常有自己独立的TypeScript处理流程,而tsdx的构建流程依赖的Babel配置可能缺失了必要的TypeScript预设。

下面是几个可行的解决方向:

1. 升级tsdx到较新版本

tsdx 0.14.0是比较老的版本(发布于2021年),后续版本修复了不少TypeScript语法解析的问题。你可以尝试升级到最新的稳定版:

npm install tsdx@latest --save-dev

升级后再重新执行tsdx build,大概率能解决这个语法错误。

2. 自定义Babel配置,添加TypeScript预设

如果你不想升级版本,可以手动配置Babel来支持TypeScript语法:

  • 首先安装必要的依赖:
    npm install --save-dev @babel/preset-react @babel/preset-typescript
    
  • 在项目根目录创建babel.config.js文件,内容如下:
    module.exports = {
      presets: [
        '@babel/preset-react',
        '@babel/preset-typescript'
      ],
    };
    

这个配置会让Babel正确识别TypeScript的类型定义语法,包括type关键字。

3. 检查你的tsconfig.json配置

确保你的tsconfig.json里开启了正确的JSX和TypeScript支持,比如:

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "jsx": "react",
    "strict": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist"]
}

特别注意jsx字段要设置为react(如果你用的是React 17+,也可以设为react-jsx),确保TSX文件能被正确解析。

获取更详细的错误信息

要查看tsdx构建时更详细的日志,可以添加--verbose参数:

tsdx build --verbose

这个命令会输出Babel处理文件的详细过程,你可以从中确认是否加载了正确的预设,以及哪一步出现了语法解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 19:32:35