v2023
- 组件库搭建 https://github.com/maqi1520/nextjs-components-docs
- npm config set registry https://registry.npmjs.org
- npm config set registry https://registry.npm.taobao.org
要切换npm源
- nrm use npm
如何发布一个monorepo包?
- 初始化项目 pnpm install
- 手动创建pnpm-workspace.yaml
packages:
- "packages/**"
- package.json 文件修改
{
"name": "v2023",
"version": "1.0.0",
"description": "",
"main": "index.js",
/* 只允许pnpm */
"scripts": {
"preinstall": "npx only-allow pnpm"
},
"keywords": [],
"private": true,
/* node环境版本 */
"engines": {
"node": ">=16"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@changesets/cli": "^2.26.2"
}
}
创建packages包
-
test文件夹
pnpm init
修改package文件{ "name": "@yangxkb/test", "version": "1.1.0", "description": "", "keywords": [], "license": "ISC", "author": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "publishConfig": { "access": "public" }, "dependencies": { "@yangxkb/test-share": "workspace:*" } }
-
创建index.js
import warn from "@yangxkb/test-share";
warn();
- share-test文件夹
- 预发布
pnpm changeset pre enter <tag>
# alpha0.1.0
# alpha 是内部测试版 ,一般不向外部发布,会有很多Bug,一般只有测试人员使用
# beta 是内部测试版 ,这个版本会一直加入新功能,在alpha版本之后推出
# rc 发型候选版本 ,rc 版本不会加入新的功能,主要是为了排错
pnpm changeset
# major minor patch
# 1.0.0
pnpm changeset version
pnpm changeset pubish
# error an error occured while publishing @yangxkb/test
# npm规定包名中,@后是用户名 或者组织
pnpm changeset pre exit
在根目录下 可以给所有子目录 安装typescript
在根目录下 可以给所有子目录 安装typescript
pnpm add typescript -r -D
执行命令
pnpm -F @yangxkb/test add @yangxkb/test-share 子包项目引用
执行命令
pnpm add rollup chalk minimist npm-run-all typescript -Dw 安装根目录全局
npm login
建议指定registry,避免登录到公司内部的开源库中去
pnpm login --registry https://registry.npmjs.org/
pnpm install @changesets/cli -w --save-dev
pnpm changeset init
pnpm changeset
pnpm changeset version
pnpm changeset pubish