Modern.js Module
本章节介绍如何将使用 Modern.js Module 的项目迁移到 Rslib。
调整 package.json
Rslib 的依赖链路非常短。对于基本功能,你只需要使用 @rslib/core 包。
你可以通过 快速开始 创建一个 Rslib 项目,然后更新你的 package.json 文件,如下所示:
- 移除
main,lint-staged,simple-git-hooks,sideEffects和publishConfig字段 - 将
types字段从./dist/types/index.d.ts改为./dist/index.d.ts - 将
module字段从./dist/es/index.js改为./dist/index.js - 移除
prepare,build:watch,reset,change,bump,pre,change-status,gen-release-note,release,new,upgrade脚本 - 将
build脚本从modern build改为rslib build - 将
dev脚本从modern dev改为rslib build --watch - 将
lint脚本名称改为check并保持其值 - 添加一个新脚本
format并设置其值为biome format --write - 添加一个新脚本
test并设置其值为vitest run - 添加
exports字段 (object)- 添加
"."(object) - 添加
"types": "./dist/index.d.ts"和"import": "./dist/index.js"字段
- 添加
- 添加
files字段并设置其值为["dist"] - 根据你的配置和使用情况,
devDependencies可能会有所不同- 重要提示:将
@modern-js/module-tools替换为@rslib/core - 我们不再需要
rimraf,lint-staged和simple-git-hooks了
- 重要提示:将
- 复制你需要的
dependencies和peerDependencies字段
你的 package.json 文件应该如下所示:
package.json
调整打包配置
现在我们有了一个干净的起点。我们将继续使用 Rslib 配置。它遵循所有 Rs* 项目的相同模式。由于此步骤对于每个人来说都不同,下面是一个基本的示例:
将你的 modern.config.ts 文件替换为 rslib.config.ts 文件:
rslib.config.ts
TypeScript 类型定义
如果你在 Modern.js Module 中使用 TypeScript 并需要生成类型定义文件,请添加以下更改:
rslib.config.ts
React
如果你在 Modern.js Module 中使用 React,请添加以下更改:
rslib.config.ts
此外,你需要安装 @rsbuild/plugin-react 包作为 devDependencies。
Sass
如果你在 Modern.js Module 中使用 Sass,请添加以下更改:
rslib.config.ts
此外,你需要安装 @rsbuild/plugin-sass 包作为 devDependencies。
如果你在运行 TypeScript 和 Sass,你可能会遇到类型声明文件生成错误。这可以通过在 /src 目录中添加一个 env.d.ts 文件来解决。
src/env.d.ts
或者
src/env.d.ts
CSS Modules
如果你在 Modern.js Module 中使用 CSS Modules,请添加以下更改:
rslib.config.ts
内容补充
此迁移文档由社区用户 YanPes 贡献。非常感谢他的贡献!
