跳至主要内容
版本:9.x

别名

别名允许您使用自定义名称安装包。

假设您在整个项目中都使用lodashlodash中存在一个错误,导致您的项目崩溃。您有一个修复方案,但lodash不会合并它。通常情况下,您要么直接从您的 fork 安装lodash(作为 git 托管的依赖项),要么以不同的名称发布它。如果您使用第二种解决方案,您必须将项目中所有需要更改为新的依赖项名称(require('lodash') => require('awesome-lodash'))。使用别名,您有第三种选择。

发布一个名为awesome-lodash的新包,并使用lodash作为其别名安装它

pnpm add lodash@npm:awesome-lodash

无需更改代码。所有对lodash的需要现在将解析为awesome-lodash

有时您希望在项目中使用两个不同版本的包。很简单

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

现在您可以通过require('lodash1') 引用第一个版本的 lodash,通过require('lodash2') 引用第二个版本。

当与钩子结合使用时,这将变得更加强大。也许您想在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
}
}