Brendan Dash

Brendan Dash

pnpm 暴力提升設置

懺悔式提升#

https://pnpm.io/npmrc#shamefully-hoist

預設情況下,pnpm 會建立一個半嚴格的 node_modules 結構,這意味著依賴項可以訪問未聲明的依賴項,但 node_modules 之外的模組不能。在這種佈局下,大多數生態系統中的套件都能正常運作。然而,如果某些工具只能在依賴項提升到 node_modules 根目錄時才能正常運作,你可以將此選項設置為 true 來為你提升這些依賴項。

簡單來說就是現在有一個模組 A,其依賴一個模組 B,在專案的 package.json 裡依賴模組 A,模組 A 是可以正常的訪問到模組 B 的,但是在專案裡就不能訪問模組 B,當 shamefully-hoist=true 就會提升模組 B,然後在專案裡都可以訪問。

預設 pnpmnode_modules 只會暴露在 package.json 裡指定的依賴,不會像 npm 一樣,暴露依賴包括依賴的依賴。

.npmrc

shamefully-hoist=true

提升模式#

hoist-pattern[]=*eslint*
hoist-pattern[]=*babel*

將某個依賴提升到 node_modules/.pnpm/node_modules 外部無法引用

公共提升模式#

public-hoist-pattern[]=['*eslint*', '*prettier*']

將依賴放到根目錄的 node_modules 裡,根目錄可以引用

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。