成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

快試試 save exact,防止你的項目依賴版本滑動

開發 項目管理
使用 save-exact 可以在項目安裝依賴時,保存到 package.json 的依賴項將使用精確的版本進行配置,而不是使用 npm 的默認 semver 范圍運算符。在開發過程中以及使用應用程序時,可以安全地允許補丁或次要更新。

如果你正在構建一個生產應用程序,你并不總是希望讓你項目的依賴項自動更新,即使您只指定了一個 PATCH 更新,由于有數百個互操作包,因此有可能出現未經測試的更新會毀掉你的項目,那么你一樣要試試 save-exact。在開發過程中以及使用應用程序時,可以安全地允許補丁或次要更新。

我們先來看一個最簡單的測試,例如我在項目依賴了兩個包:

"devDependencies": {
  "@babel/cli": "^7.10.5",
  "@babel/plugin-transform-runtime": "^7.11.0"
}

當刪除 node_modules 文件夾并運行時 npm install,已安裝軟件包的版本可能會在更高版本可用時更新,原因是安裝的依賴產生了滑動,這可能會破壞應用程序,不同版本的的特效可能存在不一致的場景,這其實是非常危險的。

圖片圖片

圖片圖片

^ 會匹配最新的大版本依賴包,比如 ^1.2.3 會匹配所有 1.x.x 的包,包括 1.3.0,但是不包括 2.0.0。

save-exact

使用 save-exact 后,保存到 package.json 的依賴項將使用精確的版本進行配置,而不是使用 npm 的默認 semver 范圍運算符。

使用

在項目中可以通過 .npmrc / .yarnrc 來對 save-exact 進行配置。

#.npmrc
save-exact=true
#.yarnrc
save-prefix ~

當我們再次安裝使用 yarn add react 時,你會發現不會有滑動版本。

圖片圖片

.npmrc / .yarnrc 的配置是項目級別的。你也可以針對某一個依賴使用 save-exact。例如:

yarn add react --save-exact

圖片圖片

這樣也能達到同樣的效果。并且你還可以通過設置用戶級別的 npm config 來達到效果。

npm config set save-exact true

不過這里需要注意的是,它們是有優先級的。

配置優先級

除了命令行 save-exact,當我們在使用 npmrc 配置時,按照依賴會檢查配置,其實就是檢查 .npmrc 的配置,在我們的電腦中存在多個 .npmrc 的配置。

1.項目中的 .npmrc

圖片圖片

項目下 .npmrc 文件的優先級最高,可以給每個項目配置不同的鏡像,項目之間的配置互不影響。 在項目的根目錄下新建 .npmrc 文件,在里面以 key=value 的格式進行配置。

save-exact=true

2.用戶配置的 .npmrc(~/.npmrc)

圖片圖片

可以通過 npm config get userconfig 命令獲取用戶配置的 .npmrc 文件在哪里。

圖片圖片

可以通過 npm config set 命令設置用戶級別的 .npmrc 配置。

npm config set registry https://registry.npm.taobao.org

如果想刪除可以直接編輯文件,或者使用 npm config delete registry 命令來進行刪除。

3.全局配置的 .npmrc

圖片圖片

可以通過 npm config get prefix 命令獲取全局配置的 .npmrc 文件的前綴地址,

圖片圖片

記住是前綴地址,不是完整地址。完整地址是{$prefix}/etc/npmrc。 但是如果你從來沒有全局配置過,就不會存在這個文件。 也可以通過命令行來進行全局 .npmrc 文件的配置。

npm config set registry https://registry.npm.taobao.org -g

4.npm 內置的 .npmrc

npm 內置 .npmrc 配置文件和 npm 同級,所以可以通過獲取 npm 的路徑,來找到 npm 內置的 .npmrc 文件。 可以通過 which npm 來獲取 npm 的路徑,也就找到了 npm 內置的 .npmrc 文件。

圖片圖片

npm install 執行之后,首先,檢查并獲取 npm 配置,這里的優先級為:項目級的 .npmrc 文件 > 用戶級的 .npmrc 文件> 全局級的 .npmrc 文件 > npm 內置的 .npmrc 文件。

當我們在執行安裝命令之后,如果命令行中不包含  save-exact,然后檢查并獲取 npm 配置中的 save-exact,這里的優先級為:項目級的 .npmrc 文件 > 用戶級的 .npmrc 文件> 全局級的 .npmrc 文件 > npm 內置的 .npmrc 文件。

總結

使用 save-exact 可以在項目安裝依賴時,保存到 package.json 的依賴項將使用精確的版本進行配置,而不是使用 npm 的默認 semver 范圍運算符。在開發過程中以及使用應用程序時,可以安全地允許補丁或次要更新。

參考

https://docs.npmjs.com/cli/v10/commands/npm-install#save-exact

https://teamtreehouse.com/community/why-install-npm-packages-as-saveexact

https://stackoverflow.com/questions/58638817/what-is-the-purpose-of-using-save-exact

責任編輯:武曉燕 來源: 不愛吃貓的魚er
相關推薦

2021-05-27 11:26:46

nodesassCSS

2020-08-08 12:22:03

微信微信昵稱圓圏

2022-03-08 13:46:22

httpClientHTTP前端

2010-06-24 09:38:42

Windows備份云平臺

2024-03-21 08:55:41

享元模式對象內存

2019-01-16 16:00:33

2021-04-09 11:15:24

LogbackLog4j2Java

2021-04-21 10:36:47

StringBuildJava8StringJoine

2020-12-17 18:36:50

數據集大規模數據Kaggle

2024-01-23 13:20:00

分庫分表分布式

2022-08-14 22:35:37

EurekaConsul

2025-03-03 01:00:00

工具加密命令

2021-12-29 10:30:15

JMH代碼Java

2025-04-17 04:00:00

2020-11-16 09:15:07

MYSQL

2024-10-24 08:47:12

2021-12-17 14:27:52

jar反編譯Java

2009-12-02 08:58:40

2024-03-11 08:21:49

2023-08-01 07:45:52

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品日韩一区 | 欧美激情视频一区二区三区免费 | 91av视频在线播放 | 亚洲精品欧美 | 91麻豆精品国产91久久久资源速度 | 欧美日韩国产一区二区 | 色狠狠一区 | 国产a视频| 日韩欧美一区二区在线播放 | 天天碰夜夜操 | www.中文字幕av | 亚洲精品国产成人 | 亚洲精品一区二区三区中文字幕 | 精品中文字幕在线 | 精品国产精品国产偷麻豆 | 毛片免费视频 | 亚洲一区久久 | 亚洲国产精品一区二区第一页 | 国产精彩视频在线观看 | av黄色在线 | av男人的天堂在线 | 久久精品国产一区二区电影 | jizz在线看片 | 91av大全 | 免费观看一级毛片 | 色橹橹欧美在线观看视频高清 | 成人免费黄色片 | 手机在线不卡av | 日日射影院 | 久久亚洲欧美日韩精品专区 | 欧美一级在线观看 | 欧美综合在线观看 | 国产98色在线 | 亚洲精品乱码久久久久久按摩观 | 美女爽到呻吟久久久久 | 中文字幕一区二区三区四区 | 国产免费一区二区三区网站免费 | 欧美日韩视频在线 | 超碰人人插| 国户精品久久久久久久久久久不卡 | 亚洲视频一区 |