当前位置:首页 > 科技  > 软件

Node 之父新作:一个全新的 NPM 下载源工具!

来源: 责编: 时间:2024-05-27 17:24:33 390观看
导读在前端开发中,使用第三方 npm 模块可以显著提高我们的工作效率。我们既可以创建并分享自己的模块到 npm 仓库,供其他开发者使用,也可以从仓库中获取他人的模块以加快开发进程。然而,在中国大陆,由于特定的网络限制,从 npm

在前端开发中,使用第三方 npm 模块可以显著提高我们的工作效率。我们既可以创建并分享自己的模块到 npm 仓库,供其他开发者使用,也可以从仓库中获取他人的模块以加快开发进程。zYD28资讯网——每日最新资讯28at.com

然而,在中国大陆,由于特定的网络限制,从 npm 仓库下载模块经常异常缓慢,甚至直接失败。一个常见的解决方法是切换到如淘宝或腾讯等镜像源。zYD28资讯网——每日最新资讯28at.com

在离开 Node 官方团队后,“Node 之父”开发了一个新的 JavaScript 运行时环境 Deno,该环境在多个方面对 Node 进行了改进。最近,针对 npm 仓库中的长期问题,他提出了一个名为 JSR(JS 下载源)的全新方案。zYD28资讯网——每日最新资讯28at.com

“这不是另一个 npm 包管理器!”“Node 之父”这样强调。让我们通过查阅“Node 之父”在 Deno 官方博客上的文章,了解一下这个与 npm 仓库竞争的新项目 JSR。zYD28资讯网——每日最新资讯28at.com

zYD28资讯网——每日最新资讯28at.com

在最近几年,新的包管理器如yarn和pnpm已经增强了npm包的下载体验。然而,作为JavaScript生态系统基石的npm注册源本身的发展几乎处于停滞状态,其最近一次显著更新是几年前引入的“files”标签。尽管JavaScript语言发展迅速,其分发模式却显得相对落后。zYD28资讯网——每日最新资讯28at.com

在我创建Node的时代,JavaScript尚无统一的模块系统,导致npm注册源及Node默认采用require语法和CJS模块,这一模块系统无法在浏览器中使用,具有根本性缺陷。大约在2015年,JavaScript采纳了ES模块和import语法。尽管如今大多数JavaScript代码都采用ES模块,其分发路径仍然复杂,特别是在涉及到TypeScript时。zYD28资讯网——每日最新资讯28at.com

为解决这些问题,JSR应运而生,它不仅仅是另一个npm包管理器,而是一种旨在改变JavaScript和TypeScript代码在服务器、浏览器和各种工具间共享方式的革命性下载源。JSR通过简化开发者长期面临的复杂性,从根本上改善了代码的分发方式。它专注于ES模块,并优先支持TypeScript,消除了繁琐的package.json配置和tsconfig编译选项的困扰。zYD28资讯网——每日最新资讯28at.com

JSR还通过包评分系统鼓励最佳实践,类似于Dart社区在pub.dev中的做法,为包含详尽JSDoc文档的每个导出符号的包提供更高的评分。与Go和Rust等其他现代编程生态系统一样,JSR提供开箱即用的自动化文档生成功能。zYD28资讯网——每日最新资讯28at.com

JSR本质上是一个新的registry,不仅仅是npm的另一个客户端。它不要求开发者放弃现有的npm内容或完全切换到一个全新的JS模块生态,而是旨在补充现有的npm注册源。它允许依赖npm包,专为TypeScript优化,并且只支持ES模块。适用于Deno和基于npm的项目如Node、Bun等,且完全开源免费。zYD28资讯网——每日最新资讯28at.com

你可以像这样安装软件包:zYD28资讯网——每日最新资讯28at.com

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

JSR包能够集成到依赖npm的现有软件系统中,因为JSR自身作为一个npm下载源分发与npm兼容的tarball文件。这使得JSR包能够被包括在任何使用npm、yarn或pnpm的项目中,并且可以与私有下载源无缝集成。这种方式的npm tarball分发被认为是非常优秀的。zYD28资讯网——每日最新资讯28at.com

在Deno环境中,我们特别重视安全性,把它作为JavaScript开发的首要考量。虽然没有下载源能够完全监控所有发布的代码,但JSR通过提高发布者的透明度和确保发布过程的安全性,提供了一种更为安全的方法。zYD28资讯网——每日最新资讯28at.com

JSR还通过整合OIDC令牌和GitHub Actions,利用供应链安全技术来创建高级的、可验证的代码来源证明,并将其保存在Sigstore中。这样不仅保证了代码的真实性,也加强了对开发者责任的信任和确立。zYD28资讯网——每日最新资讯28at.com

JavaScript作为广泛使用的编程语言,其普遍性和易用性为其赢得了大量的使用者。一个中心化的社区对于JavaScript是必要的,开发者可以在这里共享他们的成果,而不会感到过于复杂。zYD28资讯网——每日最新资讯28at.com

我们坚信,JavaScript将继续在软件开发领域保持其核心地位,而JSR的设计正是为了支持这种持久的相关性。尽管JSR不是一个传统的包管理器,它提供了一种新的方法来管理和保护代码,致力于成为一个稳定且具有前瞻性的平台,旨在加强和保护JavaScript开发。zYD28资讯网——每日最新资讯28at.com

因此,JSR不仅仅是生态系统中的另一个工具,更是一种彻底改变我们如何分发JavaScript和TypeScript代码的根本性变革。zYD28资讯网——每日最新资讯28at.com

zYD28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-91032-0.htmlNode 之父新作:一个全新的 NPM 下载源工具!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Golang 状态机设计模式,你知道多少?

下一篇: C# 类(Class):构建面向对象程序的基础

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • 三万字盘点 Spring 九大核心基础功能

    大家好,我是三友~~今天来跟大家聊一聊Spring的9大核心基础功能。话不多说,先上目录:图片友情提示,本文过长,建议收藏,嘿嘿嘿!一、资源管理资源管理是Spring的一个核心的基础功能,不
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的“头腾
  • 花7万退货退款无门:谁在纵容淘宝珠宝商家造假?

    来源:极点商业作者:杨铭在淘宝购买珠宝玉石后,因为保证金不够赔付,店铺关闭,退货退款难、维权无门的比比皆是。“提供相关产品鉴定证书,支持全国复检,可以30天无理由退换货。&
  • 余承东:AI大模型技术的发展将会带来下一代智能终端操作系统的智慧体验

    8月4日消息,2023年华为开发者大会(HDC.Together)今天正式开幕,华为发布HarmonyOS 4、全新升级的鸿蒙开发套件、HarmonyOS Next开发者预览版本等一系列
  • 三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    7月27日消息,据外媒报道,从三星电子所发布的财报来看,他们主要利润来源的存储芯片业务在今年二季度仍不乐观,营收同比仍在大幅下滑,所在的设备解决方案
  • 苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
Top