我構建了一個 TypeScript 模塊并將其推送到 GitHub。我現在想在我的內部使用這個模塊MyApp作為依賴項,它也是用 TypeScript 撰寫的。該軟體包已在 my 中注冊MyApp/package.json:
"dependencies": {
"foo": "github:organization-xyz/foo",
}
我添加了一個命令build-ts來JavaScript在我的foo模塊中創建相應的系結foo/package.json:
"scripts": {
"build-ts": "tsc"
...
},
當然,當我呼叫npm i主應用程式時,不會執行此命令。我將如何正確準備我的模塊foo以便在我的應用程式中成功匯入它?
uj5u.com熱心網友回復:
將您的構建命令放在package.json prepare腳本中。
例如:
"scripts": {
"prepare": "npm run build-ts"
"build-ts": "tsc"
...
},
prepare是在某些情況下由 npm 自動運行的
生命周期腳本之一。一種情況是安裝包依賴項時,如npm-install 檔案中所述:
如果正在安裝的包包含準備腳本,則在打包和安裝包之前,將安裝其依賴項和 devDependencies,并運行準備腳本。
由于準備腳本也在發布之前運行,請確保將您配置package.json為不發布構建工件。
既然你提到你是在 GitHub 上發布它,這里有一些關于這種情況的更多資訊:
- 從 Github 安裝和構建 NPM 包 - Jim Nielsen 的博客- 這一篇專門討論了 npm
prepare腳本的使用。 - 從 GitHub 安裝 NPM 包 | 復視
那說...
...如果構建不依賴于安裝目標(例如 cpu 架構),標準做法是在發布之前將您的 Typescript 轉換為 Javascript。幾乎每個人都這樣做,包括 Typescript 的制造商。但我不會在這里做這個案子......
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/373493.html
