写点什么

npm 5.0 普遍提升了性能

  • 2017-06-01
  • 本文字数:939 字

    阅读完需:约 3 分钟

npm 公司发布了其软件包管理工具 npm 5.0 版,这为公司多年的规划和累月的编码工作划上了一个句号。npm 5 提升了性能,使其保持了对同类软件的竞争力。

Npm 公司通过博客帖子宣布新的软件包管理工具发布,并称npm 5 是“一次相当大的进步,显著地改进了几乎所有常见情况下的性能”。该发布并非仅是给出了新的主版本号,而主要是提供了一些新的特性和突破性改进。

据博客帖子介绍,npm 5 中的一个重大改进是针对缓存的性能和行为,例如对离线行为的改进。现在npm 会在机器离线时使用本地缓存,而不是去反复地尝试访问网络。开发人员可以通过设置 --prefer-offline--prefer-online等选项定制缓存的使用方式。

但是这一重大改进将会导致全部已有的缓存失效,开发人员需要重新下载软件包。因此应确保在升级 npm 时具有高速的网络连接。

npm 5 还提供了其它的一些新特性,其中最显著的改进是--save成为了默认行为。以前,要将完成安装的软件包保存在 package.json 文件中,开发人员需要发布命令:

npm install --save虽然开发人员肯定有意向去执行软件包的保存行为,但是实际在命令执行时还是需要做双向确认(Opt-in)。在 npm 5 中,即使不明确指定该标识,软件包也会保存到 package.json 中。但麻烦的一面是,如果开发人员不想保存该软件包,需要在命令中明确指定--no-save标识。

在社区中,部分开发人员倾向于使用 Yarn 软件包管理工具,它是另一个很有前途的竞争者。Yarn 的存在将促使 npm 更加努力,激发 npm 在性能上的改进。HackerNews 用户 chrisweekly 写道:“感谢 Yarn,帮助社区看到了真相(译者注:原文为“皇帝的新装”)。回想起来,很明显默认确定性构建的确是核心需求”。

npm 公司 CEO Isaac Schlueter指出,对 npm 5 的改进已经进行了很长的时间,并非是针对 Yarn:

可以说,npm 5 中的所有改进早在多年前就已做出了规划。鉴于已有大量用户依赖于 npm 工具,我们必须慎重对待重大更改。社区在 Yarn 的使用上给出了一个强烈信号,虽然这表明我们正走在正确的道路上,但从外部看上去,这一事件却仿佛是 npm 改进的“催化剂”。

无论改进是社区推动或是公司先行考虑到的,开发人员终将从中受益,能用上更快更好的工具。 GitHub 上提供了完整的 npm 5 发行说明。

查看英文原文: Npm 5.0 Boosts Common Sense Performance

2017-06-01 18:263173
用户头像

发布了 227 篇内容, 共 76.0 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

聚焦银行APP用户体验,易观千帆GX指数即将独家首发

易观分析

易观

阿里CTO程立:首个全面深度用云的天猫双11,更敏捷、更经济、更绿色

阿里技术

云计算 severless

Vivado安装和使用

芯动大师

Verilog FPGA系统 vivado 11月月更

算法题学习---链表中环的入口结点

桑榆

算法题 11月月更

数据报告 | 2022年双十一变化趋势分析报告

前嗅大数据

双十一 数据报告 电商报告

【活动报名】11月19日 | AI GC 的技术与应用构建

亚马逊云科技 (Amazon Web Services)

人工智能 机器学习

CSS的学习笔记(五)

lxmoe

CSS 前端 学习笔记 11月月更

Vue插件(plugin)

Augus

vue.js 11月月更

网址访问速度免费加速教程:又拍云cdn

程序员余白

网页加速 CDN加速 11月月更

HTML零基础入门教程(一)

异星球的小怪同志

前端 HTML5, CSS3 DW 零基础 11月月更

洞见科技中标安康市数据要素流通平台(隐私计算平台)建设项目

洞见科技

现代API的类型划分

阿泽🧸

API 11月月更

数据中心的能源之翼:华为数据中心能源与伙伴共同飞翔

脑极体

1.6k Star!可以优雅的使用Git了。。。

Jackpop

Zebec Chain有望成为公链赛道新兴生力军,地平线计划持续进击

小哈区块

部署和体验Helm(2.16.1版本)

程序员欣宸

Kubernetes Helm 11月月更

计算机网络:随机访问介质访问控制之令牌传递协议

timerring

令牌桶 11月月更

Git 分支管理策略汇总

AlwaysBeta

git GitHub gitlab 分支管理

一款超好用的Json编辑工具

Jackpop

初探Apollo远程服务配置中心

闫同学

阿波罗 11月月更 apllo 远程配置中心

Go-MySQL-Driver,让Go语言拥抱MySQL

闫同学

Go MySQL 11月月更

2022-11-11:设计一个最大栈数据结构,既支持栈操作,又支持查找栈中最大元素。 实现 MaxStack 类: MaxStack() 初始化栈对象 void push(int x) 将元素 x 压

福大大架构师每日一题

Java 算法 福大大

Zebec Chain有望成为公链赛道新兴生力军,地平线计划持续进击

西柚子

定了,2022双11 技术进化开启新未来

阿里技术

双11

专访吴静涛丨从未有人把金融信创挑战说的这么透彻!

通明湖

数据分析的步骤

穿过生命散发芬芳

数据分析 11月月更

类继承

Maybe_fl

运维进阶训练营 -W03H

赤色闪电

运维

深入Redis数据结构和底层原理

闫同学

redis 缓存 11月月更

【愚公系列】2022年11月 微信小程序-app.json配置属性之networkTimeout

愚公搬代码

11月月更

汽车产业“芯事”何解?

易观分析

汽车芯片

npm 5.0普遍提升了性能_JavaScript_David Iffland_InfoQ精选文章