エイリアス
エイリアスを使用すると、別名を使用してパッケージをインストールできます。
Let's assume you use lodash all over your project. There is a bug in lodash
that breaks your project. You have a fix but lodash won't merge it. Normally
you would either install lodash from your fork directly (as a git-hosted
dependency) or publish it with a different name. If you use the second solution
you have to replace all the requires in your project with the new dependency
name (require('lodash') => require('awesome-lodash')). 3番目の方法は、エイリアスを使うを使うことです。
Publish a new package called awesome-lodash and install it using lodash as
its alias:
pnpm add lodash@npm:awesome-lodash
コードを変更する必要はありません。 All the requires of lodash will now resolve to
awesome-lodash.
時々、プロジェクトでは、パッケージの 2 つの異なるバージョンを使用したい場合があります。 それも簡単です。
pnpm add lodash1@npm:lodash@1
pnpm add lodash2@npm:lodash@2
Now you can require the first version of lodash via require('lodash1') and the
second via require('lodash2').
また、フックと組み合わせ ることでさらに協力になります。 Maybe you want to replace
lodash with awesome-lodash in all the packages in node_modules. You can
easily achieve that with the following .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
}
}