tsc
本章节介绍如何将使用 tsc (TypeScript Compiler) 的项目迁移到 Rslib。
安装依赖
首先,你需要添加 Rslib 的核心依赖。
更新 npm 脚本
接下来,你需要更新 package.json 中的 npm 脚本,以使用 Rslib 的 CLI 命令替代 tsc。
创建配置文件
在 package.json 所在的同一目录中创建一个 Rslib 配置文件 rslib.config.ts。
为了匹配 tsc 的行为,设置 bundle: false 以启用 bundleless 模式。同时,你可以根据需要的产物输出格式配置 format:
配置迁移
以下是常见的 tsc 编译选项(通常在 tsconfig.json 中)对应的 Rslib 配置:
你不需要迁移 compilerOptions.paths 配置,Rslib 会自动识别 tsconfig.json 中的路径别名。
CLI 选项迁移
-p:对于使用了自定义的 tsconfig 文件(例如tsc -p tsconfig.build.json)的项目,可以通过 source.tsconfigPath 进行配置。
-b:如果原项目使用了 TypeScript 的 Project References(即tsc -b),在 Rslib 中可以通过配置dts: { build: true }来支持。需要注意的是,build: true仅对类型声明文件(.d.ts)的生成生效,不会影响 JS 产物的编译。
JSX 处理
对于包含 JSX 的项目,你可以根据是否需要转换 JSX 语法来选择不同的配置。
如果需要转换 JSX(例如在 tsconfig.json 中使用了 "jsx": "react-jsx"),你可以使用 @rsbuild/plugin-react 插件来支持 React 编译,并将 output.target 设置为 'web'。
首先,安装该插件:
然后,在 rslib.config.ts 中注册插件,并配置 output.target:
如果需要保留 JSX(例如在 tsconfig.json 中使用了 "jsx": "preserve"),你可以使用 @rsbuild/plugin-react 插件并设置 runtime: 'preserve'。此外,还需要通过配置 output.filename.js 将输出文件的后缀设为 .jsx,以避免 JSX 语法报错。
验证结果
完成以上步骤后,你已经完成了从 tsc 到 Rslib 的基本迁移,此时可以执行 npm run build 命令来构建出产物,并验证产物的目录结构与扩展名与迁移前保持一致。
如果在构建过程中发现问题,请根据错误日志进行调试。你也可以开启 调试模式 查看 Rslib 生成的最终配置,或者对照 tsconfig.json 检查是否有一些必须的配置未被迁移。
内容补充
当前文档仅包含部分迁移过程。如果你发现合适的内容需要添加,请随时通过 pull request 贡献文档 🤝。
Rslib 的文档位于 rslib/website 目录中。
