Skip to content
肥超 edited this page May 9, 2021 · 3 revisions

开始开发

工具依赖: 较新版本的 yarn 与 lerna

  1. 安装依赖 yarn
  2. 启动 storybook 本地开发环境 yarn start:story

单元测试

yarn test

  • 组件 DOM 结构 snapshot 测试
  • 函数的单元测试

monorepo 内 package 的相互引用

开发阶段下,使用 tsconfig.json paths,配合 webpack TsconfigPathsPlugin 来实现源码的直接引用。

打包阶段下,基于 lerna/yarn 内部包的 link,按照拓扑顺序依次执行 build 脚本。

package.json 常用 scripts

{
    // 有测试的话,就加上;没有就不加了
    "test": "jest",
    // 版本号变更前 确保测试通过 & 构建通过
    "preversion": "yarn test && yarn build",
    // 发布前确保构建产物存在
    "prepublishOnly": "yarn build",
    // 移除 package 中的构建产物
    "clean": "rimraf dist/",
    // 生成所有的构建产物,所有构建产物统一放在 dist/ 目录下
    "build": "yarn build:esm",
    // 生成 esm 格式的构建产物,放在 dist/esm/ 目录下
    "build:esm": "tsc --project tsconfig.production.json --outDir dist/esm/ --module ES2015",
    // 生成 cjs 格式的构建产物,放在 dist/cjs/ 目录下
    "build:cjs": "tsc --project tsconfig.production.json --outDir dist/cjs/ --module CommonJS"
  }

常用 lerna 脚本

# 创建一个新的版本
lerna version {version} --no-private --conventional-commits --no-push

# 发布一个新的版本
lerna publish from-git

部署文档网站

GIT_USER=shinima yarn workspace doc deploy