日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Node 之父新作:一個全新的 NPM 下載源工具!

來源: 責編: 時間:2024-05-27 17:24:33 213觀看
導讀在前端開發中,使用第三方 npm 模塊可以顯著提高我們的工作效率。我們既可以創建并分享自己的模塊到 npm 倉庫,供其他開發者使用,也可以從倉庫中獲取他人的模塊以加快開發進程。然而,在中國大陸,由于特定的網絡限制,從 npm

在前端開發中,使用第三方 npm 模塊可以顯著提高我們的工作效率。我們既可以創建并分享自己的模塊到 npm 倉庫,供其他開發者使用,也可以從倉庫中獲取他人的模塊以加快開發進程。58i28資訊網——每日最新資訊28at.com

然而,在中國大陸,由于特定的網絡限制,從 npm 倉庫下載模塊經常異常緩慢,甚至直接失敗。一個常見的解決方法是切換到如淘寶或騰訊等鏡像源。58i28資訊網——每日最新資訊28at.com

在離開 Node 官方團隊后,“Node 之父”開發了一個新的 JavaScript 運行時環境 Deno,該環境在多個方面對 Node 進行了改進。最近,針對 npm 倉庫中的長期問題,他提出了一個名為 JSR(JS 下載源)的全新方案。58i28資訊網——每日最新資訊28at.com

“這不是另一個 npm 包管理器!”“Node 之父”這樣強調。讓我們通過查閱“Node 之父”在 Deno 官方博客上的文章,了解一下這個與 npm 倉庫競爭的新項目 JSR。58i28資訊網——每日最新資訊28at.com

58i28資訊網——每日最新資訊28at.com

在最近幾年,新的包管理器如yarn和pnpm已經增強了npm包的下載體驗。然而,作為JavaScript生態系統基石的npm注冊源本身的發展幾乎處于停滯狀態,其最近一次顯著更新是幾年前引入的“files”標簽。盡管JavaScript語言發展迅速,其分發模式卻顯得相對落后。58i28資訊網——每日最新資訊28at.com

在我創建Node的時代,JavaScript尚無統一的模塊系統,導致npm注冊源及Node默認采用require語法和CJS模塊,這一模塊系統無法在瀏覽器中使用,具有根本性缺陷。大約在2015年,JavaScript采納了ES模塊和import語法。盡管如今大多數JavaScript代碼都采用ES模塊,其分發路徑仍然復雜,特別是在涉及到TypeScript時。58i28資訊網——每日最新資訊28at.com

為解決這些問題,JSR應運而生,它不僅僅是另一個npm包管理器,而是一種旨在改變JavaScript和TypeScript代碼在服務器、瀏覽器和各種工具間共享方式的革命性下載源。JSR通過簡化開發者長期面臨的復雜性,從根本上改善了代碼的分發方式。它專注于ES模塊,并優先支持TypeScript,消除了繁瑣的package.json配置和tsconfig編譯選項的困擾。58i28資訊網——每日最新資訊28at.com

JSR還通過包評分系統鼓勵最佳實踐,類似于Dart社區在pub.dev中的做法,為包含詳盡JSDoc文檔的每個導出符號的包提供更高的評分。與Go和Rust等其他現代編程生態系統一樣,JSR提供開箱即用的自動化文檔生成功能。58i28資訊網——每日最新資訊28at.com

JSR本質上是一個新的registry,不僅僅是npm的另一個客戶端。它不要求開發者放棄現有的npm內容或完全切換到一個全新的JS模塊生態,而是旨在補充現有的npm注冊源。它允許依賴npm包,專為TypeScript優化,并且只支持ES模塊。適用于Deno和基于npm的項目如Node、Bun等,且完全開源免費。58i28資訊網——每日最新資訊28at.com

你可以像這樣安裝軟件包:58i28資訊網——每日最新資訊28at.com

# 基于 npm:npx jsr add xxx# 基于 deno:deno add xxx

JSR包能夠集成到依賴npm的現有軟件系統中,因為JSR自身作為一個npm下載源分發與npm兼容的tarball文件。這使得JSR包能夠被包括在任何使用npm、yarn或pnpm的項目中,并且可以與私有下載源無縫集成。這種方式的npm tarball分發被認為是非常優秀的。58i28資訊網——每日最新資訊28at.com

在Deno環境中,我們特別重視安全性,把它作為JavaScript開發的首要考量。雖然沒有下載源能夠完全監控所有發布的代碼,但JSR通過提高發布者的透明度和確保發布過程的安全性,提供了一種更為安全的方法。58i28資訊網——每日最新資訊28at.com

JSR還通過整合OIDC令牌和GitHub Actions,利用供應鏈安全技術來創建高級的、可驗證的代碼來源證明,并將其保存在Sigstore中。這樣不僅保證了代碼的真實性,也加強了對開發者責任的信任和確立。58i28資訊網——每日最新資訊28at.com

JavaScript作為廣泛使用的編程語言,其普遍性和易用性為其贏得了大量的使用者。一個中心化的社區對于JavaScript是必要的,開發者可以在這里共享他們的成果,而不會感到過于復雜。58i28資訊網——每日最新資訊28at.com

我們堅信,JavaScript將繼續在軟件開發領域保持其核心地位,而JSR的設計正是為了支持這種持久的相關性。盡管JSR不是一個傳統的包管理器,它提供了一種新的方法來管理和保護代碼,致力于成為一個穩定且具有前瞻性的平臺,旨在加強和保護JavaScript開發。58i28資訊網——每日最新資訊28at.com

因此,JSR不僅僅是生態系統中的另一個工具,更是一種徹底改變我們如何分發JavaScript和TypeScript代碼的根本性變革。58i28資訊網——每日最新資訊28at.com

58i28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-91032-0.htmlNode 之父新作:一個全新的 NPM 下載源工具!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Golang 狀態機設計模式,你知道多少?

下一篇: C# 類(Class):構建面向對象程序的基礎

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 封丘县| 金山区| 彰化县| 抚顺县| 龙井市| 积石山| 柏乡县| 伊通| 靖州| 华亭县| 平安县| 伊金霍洛旗| 信宜市| 柳河县| 鄯善县| 莱芜市| 宁强县| 吉安市| 陕西省| 东明县| 益阳市| 侯马市| 道真| 西乌珠穆沁旗| 乌鲁木齐市| 商南县| 桐庐县| 安龙县| 威信县| 抚松县| 河西区| 巴塘县| 宜丰县| 荃湾区| 股票| 永德县| 若尔盖县| 徐水县| 南丹县| 孝昌县| 塘沽区|