精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

npm 4.0廢棄Prepublish生命周期腳本

責任編輯:editor006

作者:James Chesters

2016-11-02 16:34:02

摘自:INFOQ

盡管依然是一個實驗性的發布版本,v4還是帶來了一些破壞性的變更,包括重寫的npm search、廢棄prepublish以及npm scripts行為的變化。

npm發布了4.0.0版本,這是2015年發布npm 3之后的第一個語義化的主版本。

盡管依然是一個實驗性的發布版本,v4還是帶來了一些破壞性的變更,包括重寫的npm search、廢棄prepublish以及npm scripts行為的變化。

Kat Marchán是npm的軟件工程師,他在Github上分享了這次升級的消息,他提到npm之前的主版本更新曾經帶來過非常嚴重的影響,但4.0對開發人員日常使用所帶來的影響會小得多,它的變化主要局限在命令行接口上,對更大的生態系統的影響很小。

Marchán提到最新的這次發布也宣告一個時代的結束,npm 2.x和3.x將會進入維護狀態,“除了重要的缺陷修正和安全補丁”,它們將不會再進行更新。

關于npm search,Marchán這樣說到:

讓我們面對這一問題——npm search已經不能正常運行了。這些年隨著時間的推移,它變得越來越慢,除此之外,它已經到了一個臨界點,我們已經無法將整個注冊表元數據放到內存中了,試圖使用這個命令的人會看到node將提示一個非常恐怖的內存溢出崩潰。

為了提升開發人員的體驗,Marchán說要徹底修改npm search,不過這尚需一段時間,但是團隊已經重寫了之前的實現,以便“在運行過程中從搜索端點和本地緩存中得到結果。”

4.0還廢棄了npm中的prepublish生命周期腳本,將其替換為prepare腳本。Marchán告訴InfoQ:“新腳本的運行方式完全相同,會有一個新的 prepublishOnly事件,只有進行npm publish的時候,該事件才會執行。”

Marchán說,只有當個人用戶發布他們自己的包的新版本時,才會受到這個破壞性變化的影響,已經發布到npm注冊表上的包已經超過了350,000個,這個更大的生態系統并不會受此影響。

對于用戶來說,npm 4.0版本的發布也使得partial shrinkwraps成為了歷史,npm shrinkwrap允許用戶鎖定整個依賴樹,讓每個包使用特定的版本,這樣的話,兩個不同的人或者在兩個不同的時間點,能夠執行兩個不同的構建。

Marchán這樣說到:

如果在你的項目中有npm-shrinkwrap.json的話,那么npm將不會安裝任何沒有明確列出的包,除非它是devDependency。這為一些優化打開了方便之門,通過移除一些令人望而生畏的極端場景,npm shrinkwrap 的使用也會更加便利。如果你通過npm shrinkwrap --dev為shrinkwrap添加了devDependencies的話,我們會忽略package.json中的devDependency安裝。

npm最新的主版本不僅包含了破壞性的變更,在發出的請求中,npm還會發送Npm-Scope和Npm-In-CI頭信息,允許注冊表實現感知用戶/作用域的特性和服務。

4.0將會成為npm官方的最新發布版本,4.0.1版本很快也會推出,這個版本會包含一些小的功能提升。

npm團隊推薦開發人員將npm升級到最新版本,但是他們也會繼續維護一個版本,用于Node的默認分發。

查看英文原文:npm 4.0 Deprecates Prepublish Lifecycle Script

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 正蓝旗| 赤壁市| 辽阳市| 自治县| 玉林市| 邮箱| 尼玛县| 柯坪县| 晴隆县| 舞钢市| 岳阳市| 杭锦旗| 阳新县| 屯门区| 宁都县| 来凤县| 屏东县| 惠水县| 灵武市| 开封市| 大冶市| 常宁市| 富阳市| 宁城县| 华亭县| 江门市| 孙吴县| 河北区| 沐川县| 阿城市| 会同县| 内丘县| 茂名市| 襄垣县| 玉环县| 息烽县| 汉中市| 丹凤县| 合水县| 永德县| 华宁县|