[英]NodeJs configuring peerDependencies in relative path dependency module
我有一個庫 package (遵循AWS 指導)
"devDependencies": {
"aws-cdk-lib": "2.1.0"
},
"peerDependencies": {
"aws-cdk-lib": "^2.1.0"
},
它與我的應用程序 package 並行檢出,並通過相對路徑依賴。
"dependencies": {
"lib": "../../lib",
"aws-cdk-lib": "2.39.0"
},
當前行為:
npm install
在庫中npm install
in app 在node_module
中創建一個指向 lib 的符號鏈接。 "aws-cdk-lib": "2.1.0"
。期望的行為:
npm install
在庫中npm install
in app 克隆 lib 的 src,並在node_module
中使用"aws-cdk-lib": "2.39.0"
構建 lib我如何實現這一目標?
我不想使用其他解決方法,例如通過 git repo 依賴,因為在部署期間我沒有簡單的方法來獲取 git 憑據。
我真的不推薦這個,但如果你想要的只是要編譯的源,直接導入即可:
import { X } from '../../lib'
但是您還必須在項目中安裝 lib 的依賴項。
或者,您可以在tsconfig.json
中添加導入路徑的別名:
"compilerOptions": {
"baseUrl": "src",
"paths": {
"@lib": ["../../lib/*"]
}
}
並將其導入為:
import { X } from '@lib'
但同樣,您必須將庫依賴項添加到項目的package.json
中。
在那個階段,您最好將代碼復制/粘貼到您的項目中,這不那么脆弱,但仍然不是管理它的好方法。
通過 npm 安裝庫是一個更好的主意。 如果您不擁有該庫,但您擁有管道,那么有一些解決方法可能會奏效。 例如,將 repo 克隆到 codecommit 並從那里安裝它可能更容易,這完全取決於問題所在。
底線是,我不會僅僅因為您的部署管道很棘手就制作一個脆弱的代碼庫,該管道應該提供幫助,而不是讓您的生活更艱難。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.