- 使用lerna+pnpm建monorepo,熟悉pnpm
- 实现create-react-app大概流程
- 实现react-scripts的start和build命令
- lerna init
- lerna create <package name>
- 创建 pnpm-workspace.yaml
- 修改package.json
- "子包": "workspace:*"
- pnpm i
- 最外层装 pnpm i
- 单独装 pnpm i <package name> --filter toy-cra
用来指定各个内部命令对应的可执行文件的位置。
"bin": {
"toy-react-scripts": "./bin/toy-react-scripts.js"
}
在package.json里指定了toy-react-scripts这个命令对应的可执行文件在./bin/下,npm会找到这个文件,在node_modules/.bin下创建软连接,而node_modules/.bin在系统的PATH变量中,所以可以简写为:
"scripts": {
"start": "./node_modules/bin/toy-react-scripts start",
"---":"---简写为---"
"build": "toy-react-scripts build"
}
让系统在PATH目录中查找node路径,来执行你的脚本文件