NPM Monorepo 設定
1. 目錄結構:
//-----------start----------- my-monorepo/ |-- packages/ | |-- my-first-package/ | | |-- index.js | |-- my-second-package/ | | |-- index.js |-- package.json //------------end------------
2. 最上層套件 package.json
宣告:
//-----------start----------- { "name": "@dystw/dystw", "version": "1.0.0", "private": true, "workspaces": [ "packages/*" ], "exports": { "./my-first-package": "./packages/my-first-package/index.js", "./my-second-package": "./packages/my-second-package/index.js" } } //------------end------------
重要提示:在最上層的 package.json 中使用 exports 可以确保子模块被正确地導出,使得在外部可以像這樣引用:@dystw/my-first-package 和 @dystw/my-second-package。
3. 子套件 package.json 宣告:
my-first-package/package.json:
//-----------start----------- { "name": "@dystw/my-first-package", "version": "1.0.0", "main": "index.js" } //------------end------------
my-second-package/package.json:
//-----------start----------- { "name": "@dystw/my-second-package", "version": "1.0.0", "main": "index.js" } //------------end------------
4. 將模組推送至 Git:
//-----------start----------- git init git add . git commit -m "Initial commit" git remote add origin http://abc.com/my-monorepo.git git push -u origin master //------------end------------
5. 專案引用建議:
當你想在另一個專案中引用這些模組時,在該專案的 package.json 中,你可以如下所示添加依赖:
//-----------start----------- { "dependencies": { "@dystw/my-first-package": "git+http://abc.com/my-monorepo.git", "@dystw/my-second-package": "git+http://abc.com/my-monorepo.git" } } //------------end------------
或直接引入最上層的套件名稱
//-----------start----------- { "dependencies": { "@dystw/dystw": "git+http://abc.com/my-monorepo.git", } } //------------end------------
之後,你可以執行 npm install 或 yarn install(取決於你使用哪個包管理器)來安裝這些模組。
The post NPM Monorepo 設定 appeared first on 可丁丹尼 @ 一路往前走2.0.