欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:pnpm實戰(zhàn)教程

柚子快報邀請碼778899分享:pnpm實戰(zhàn)教程

http://yzkb.51969.com/

一、概述

1、更小 使用 npm 時,依賴每次被不同的項目使用,都會重復(fù)安裝一次。 而在使用 pnpm 時,依賴會被存儲在內(nèi)容可尋址的存儲中。

2、更快

依賴解析。 倉庫中沒有的依賴都被識別并獲取到倉庫。目錄結(jié)構(gòu)計算。 node_modules 目錄結(jié)構(gòu)是根據(jù)依賴計算出來的。鏈接依賴項。 所有以前安裝過的依賴項都會直接從倉庫中獲取并鏈接到 node_modules。

3、扁平化 使用 npm 或 Yarn Classic 安裝依賴項時,所有的包都被提升到模塊目錄的根目錄。 這樣就導(dǎo)致了一個問題,源碼可以直接訪問和修改依賴,而不是作為只讀的項目依賴。

默認情況下,pnpm 使用符號鏈接將項目的直接依賴項添加到模塊目錄的根目錄中。

可以看到cookie在express中被引用時,只是在依賴項中存放了硬鏈接,真正的包是在扁平化的一級目錄中。

二、安裝

windows下基于npm安裝:

npm i -g pnpm

window下使用獨立腳本安裝:

iwr https://get.pnpm.io/install.ps1 -useb | iex

//默認安裝路徑:`C:\Users\【用戶名】\AppData\Local\pnpm`

//如果想要指定安裝目錄,請?zhí)崆霸O(shè)置環(huán)境變量:【PNPM_HOME】=[指定目錄]

三、配置

pnpm 設(shè)置配置的方式與 npm 相同。并且直接沿用npm的配置,例如,

npm config list

pnpm config list

pnpm config get

pnpm config set

pnpm config delete

可以看到,兩種list命令打印結(jié)果是一模一樣的。

pnpm config list

pnpm config get

pnpm config set

pnpm config delete

四、過濾

匹配:filter

過濾允許您將命令限制于包的特定子集??赏ㄟ^ --filter (或 -F) 標志制定選擇器:

pnpm -F start

pnpm --filter start

上面的命令會進入 project1 項目,并且執(zhí)行 pnpm run start 命令。

排除:!

任何過濾規(guī)則選擇器都可以作為排除項,只要在開頭添加一個"!"。

例如,這將在除 foo 以外的所有項目中運行一個命令:

pnpm --filter=!foo

五、pnpm:devPreinstall腳本

pnpm:devPreinstall 是一個特殊的生命周期腳本,用于在執(zhí)行 pnpm install 命令時運行。這個腳本通常用于在安裝依賴之前執(zhí)行一些自定義的操作,例如構(gòu)建或配置過程。

打開 package.json 文件,在 scripts 部分添加如下代碼:

{

"scripts": {

"pnpm:devPreinstall": "your-command-here"

}

}

六、管理依賴

1、安裝:pnpm add

pnpm add //保存到 dependencies

pnpm add -D //保存到 devDependencies

pnpm add -O //保存到 optionalDependencies

pnpm add -g //安裝到全局

pnpm add -w //安裝到根項目(即使是在子目錄下執(zhí)行,也同樣會安裝到根項目)

pnpm add @next //從 next 標簽下安裝

pnpm add @latest //從 latest 標簽下安裝

pnpm add @3.0.0 //安裝指定版本 3.0.0

//從本地安裝

pnpm add ./package.tar.gz

pnpm add ./some-directory

//從遠端安裝 Tar 包

pnpm add https://github.com/indexzero/forever/tarball/v0.5.6

//從 git 安裝

pnpm add

配置項說明:

--save-prod, -P 將指定的軟件包安裝為常規(guī)的 dependencies。 --save-dev, -D 將指定的 packages 安裝為 devDependencies。 --save-optional, -O 將指定的 packages 安裝為 optionalDependencies。 --save-exact, -E 保存的依賴會被指定為一個確切的版本, 而不是使用 pnpm 的默認 semver range operator 配置. --save-peer 使用 --save-peer 會添加一個或多個 peerDependencies 的 package 并安裝到 dev dependencies. --ignore-workspace-root-check 使用--ignore-workspace-root-check 或 -w 來向 workspace 根目錄添加依賴。例如, pnpm add debug -w. --global, -g 安裝全局依賴 --workspace 僅添加在 workspace 找到的依賴項.

在全局安裝一些命令行依賴時,命令行對應(yīng)的bin文件,pnpm默認會復(fù)制一份到PNPM_HOME環(huán)境變量對應(yīng)的目錄下,例如執(zhí)行:pnpm add express express-generator -g后,根目錄就出現(xiàn)express命令行對應(yīng)的bin文件:

2、安裝:pnpm install 等同于pnpm i,用于安裝項目所有依賴.

3、更新:pnpm update 別名:up、upgrade。根據(jù)指定的范圍更新軟件包的最新版本。默認會更新所有依賴關(guān)系。

CommandMeaningpnpm up遵循 package.json 指定的范圍更新所有的依賴項pnpm up --latest更新所有依賴項,此操作會忽略 package.json 指定的范圍pnpm up foo@2將 foo 更新到 v2 上的最新版本pnpm up "@babel/*"更新 @babel 范圍內(nèi)的所有依賴項

4、刪除:pnpm remove 別名:rm、uninstall、un 從 node_modules 和項目的 package.json 中刪除相關(guān) packages。

5、連接:pnpm link 別名:ln 使當前本地包可在系統(tǒng)范圍內(nèi)或其他位置訪問。

pnpm link

pnpm link --global

pnpm link --global

6、取消連接:pnpm unlink 取消鏈接一個系統(tǒng)范圍的package (相對于 pnpm link).

7、重建:pnpm rebuild 別名:rb 重建一個package。

8、修剪:pnpm prune 移除不需要的packages。

9、修改全局包目錄 執(zhí)行下面命令,之后所有的依賴包會保存到指定目錄中。

pnpm config set store-dir D:\Node\Cache\pnpm\store

https://pnpm.io/zh/next/cli/store

七、查看依賴

1、檢查:pnpm audit

檢查已安裝包的已知安全問題。

實際在使用這個命令時,淘寶鏡像(https://registry.npmmirror.com/)是不支持檢查的,會提示如下報錯:

在使用npm官方倉庫時,是可以的,顯示如下:

2、打印依賴:pnpm list

別名:ls

此命令會以一個樹形結(jié)構(gòu)輸出所有的已安裝package的版本及其依賴。

pnpm ls

pnpm ls -r //遞歸打印工作區(qū)依賴

pnpm ls --depth=0 -r

pnpm ls -g --depth=0

3、打印過期依賴:pnpm outdated 這個命令還是比較實用的,可以檢查package.json中所有依賴包當前版本和最新版本。 例如:

上述common1、common2是工作區(qū)中的自定義模塊,所以檢測不到,其他都有記錄。

4、打印指定包的依賴:pnpm why 顯示依賴于指定 package的所有 package。 例如,下面是打印出工作區(qū)下,所有依賴common2的包。分別是umi-antd項目和web/common1項目。

八、運行腳本

1、運行:pnpm run 假如您有個 watch 腳本配置在了package.json 中,像這樣:

"scripts": {

"watch": "webpack --watch",

"watch1": "webpack --watch",

"watch3": "webpack --watch",

}

執(zhí)行pnpm run watch。 也可以用正則去匹配執(zhí)行多個腳本,下面的命令會匹配所有watch開頭的命令。

pnpm run "/^watch:.*/"

2、執(zhí)行:pnpm exec 在項目范圍內(nèi)執(zhí)行 shell 命令。 例如,項目目錄下node_modules/.bin目錄下有個max腳本文件。直接執(zhí)行max -v是無效的,但是可以通過pnpm exec max -v來執(zhí)行這個命令。 pnpm exec [命令名] 類似于 npx [命令名]

3、創(chuàng)建項目:pnpm dlx/pnpm create 這兩個命令都可以用來創(chuàng)建項目,例如創(chuàng)建一個react項目:

pnpm dlx create-react-app ./my-app

pnpm create create-react-app ./my-app

上述兩個命令執(zhí)行效果一致,都可以初始化一個react項目,且默認安裝好依賴包。 只是pnpm dlx命令支還持一些配置項。

九、管理Node版本

1、配置命令

pnpm env

//cmd:

//use:使用

//remove:刪除

//list:打印全部

這里介紹 window 下需要做的配置:

清除【環(huán)境變量】下PATH中關(guān)于node的設(shè)置安裝系統(tǒng)獨立腳本。其他平臺下pnpm安裝教程

//window下打開powershell:

iwr https://get.pnpm.io/install.ps1 -useb | iex

查看可用版本pnpm env ls --remote 安裝需要的版本 pnpm env use -g lts //安裝LTS 版本

pnpm env use -g 16 //安裝 v16:

pnpm env use -g latest //最新版本

移除指定版本:pnpm env remove -g 14.0.0

pnpm全局安裝的包都保存在:C:\Users\【用戶名】\AppData\Local\pnpm目錄下。

2、實操演練

安裝完獨立腳本版本的pnpm之后。

安裝穩(wěn)定版本:執(zhí)行pnpm env use -g lts

刪除穩(wěn)定版本:pnpm env rm -g lts 檢查是否移除成功:node -v 此時node版本已經(jīng)檢測不出來,說明刪除成功。

我之前安裝過npm并且修改過cache和prefix,pnpm重新安裝獨立腳本后,之前的npm config沒有任何變化,繼續(xù)沿用。

為pnpm,點贊!

十、緩存目錄

1、概述

npm全局安裝

npm i -g lodash

執(zhí)行完后,lodash被存放在npm config get prefix對應(yīng)的目錄中。

例如:

pnpm全局安裝

pnpm install -g lodash

執(zhí)行完成后,包被存放在:C:\Users\【用戶名】\AppData\Local\pnpm目錄下

2、修改pnpm緩存地址

修改 store 目錄:

pnpm config set store-dir [目錄]

pnpm store path #查看store目錄

修改 cache 目錄: cache緩存默認存放在C:\Users\【用戶名】\AppData\Local\pnpm-cache。添加環(huán)境變量【XDG_CACHE_HOME=D:\Node\Cache\pnpm\cache】,之后再安裝的依賴的緩存就都會存入這個目錄。從存儲中刪除未引用的包。

pnpm store prune

十一、常見問題

1、全局安裝時,報錯:?ERR_PNPM_UNEXPECTED_STORE? Unexpected store location

執(zhí)行下面代碼后,再次安裝就好了:

pnpm i -g

pnpm add -g cross-env

推薦閱讀:pnpm官方文檔

柚子快報邀請碼778899分享:pnpm實戰(zhàn)教程

http://yzkb.51969.com/

文章來源

評論可見,查看隱藏內(nèi)容
大家都在看:

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19015298.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄