跳到主要內容
版本:9.x

別名

別名讓您可以使用自訂名稱安裝套件。

假設您在專案中到處使用 lodashlodash 中有一個錯誤會中斷您的專案。您有一個修正,但 lodash 拒絕合併。通常您會直接從您的分支安裝 lodash(作為 git 託管的相依性),或使用不同的名稱發布它。如果您使用第二個解決方案,您必須將專案中所有 require 替換為新的相依性名稱(require('lodash') => require('awesome-lodash'))。有了別名,您有第三個選項。

發布一個名為 awesome-lodash 的新套件,並使用 lodash 作為其別名來安裝它

pnpm add lodash@npm:awesome-lodash

不需要更改程式碼。lodash 的所有 require 現在都將解析為 awesome-lodash

有時候你會想要在你的專案中使用兩個不同版本的套件。很簡單

pnpm add lodash1@npm:lodash@1
pnpm add lodash2@npm:lodash@2

現在你可以透過 require('lodash1') 來取得第一個版本的 lodash,而透過 require('lodash2') 來取得第二個版本。

當與 hooks 結合使用時,這會變得更強大。也許你想要在 node_modules 中的所有套件中,將 lodash 替換成 awesome-lodash。你可以使用以下 .pnpmfile.cjs 輕鬆達成

function readPackage(pkg) {
if (pkg.dependencies && pkg.dependencies.lodash) {
pkg.dependencies.lodash = 'npm:awesome-lodash@^1.0.0'
}
return pkg
}

module.exports = {
hooks: {
readPackage
}
}