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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • 十个可以手动编写的 JavaScript 数组 API

    十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • 使用LLM插件从命令行访问Llama 2

    使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • JVM优化:实战OutOfMemoryError异常

    JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • 拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    Tech星球(微信ID:tech618)文 | 陈桥辉 Tech星球独家获悉,拼多多在其APP内上线了“本地生活”入口,位置较深,位于首页的“充值中心”内,目前主要售卖美食相关的
  • 中国家电海外掘金正当时|出海专题

    中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 阿里大调整

    阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的“征求意见版”:1、取消P序列
  • 2纳米决战2025

    2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • 三星Galaxy Z Fold5官方渲染图曝光:13.4mm折叠厚度依旧感人

    三星Galaxy Z Fold5官方渲染图曝光:13.4mm折叠厚度依旧感人

    据官方此前宣布,三星将于7月26日在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
  • iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    在昨日举行的的联发科新一代旗舰芯片天玑9200+的发布会上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品将全球首发搭载这款当前性能最强大的移动平台
Top