写点什么

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:263392
用户头像

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

关注

评论

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

企业是如何做到持续规划的?

智达方通

全面预算管理 持续规划 年度计划流程

倒计时 2 天|请收好 Kyligence 用户大会参会指南

Kyligence

数据分析 指标平台

从0-100:约拍小程序开发笔记

CC同学

你需要知道的Symbols

不在线第一只蜗牛

前端 symbol

UINO优锘科技受邀在2023全球数字经济大会数字孪生赋能城市数字化转型论坛发表演讲

ThingJS数字孪生引擎

数字化转型 智慧城市 数字孪生 #web3D ThingJS

图加速数据湖分析-GeaFlow和Hudi集成

TuGraphAnalytics

数据湖 图计算 Hudi 数据湖分析 GeaFlow

小度全屋智能携大模型应用惊艳亮相中国建博会,智慧体验演绎未来家居新标准

新消费日报

2023-07-12:RocketMQ如何做到消息不丢失?

福大大架构师每日一题

福大大架构师每日一题

你信不信,只要学几天javascript就可以使用纯原生实现五星评分效果 【附完整代码】

Geek_yx5md7

JavaScript 前端开发 函数 前端基础 DOM操作

从0到1:垃圾上门回收预约小程序开发笔记

CC同学

生成式AI的发展、应用及影响 | 社区征文

Dec

年中技术盘点

新兴技术的影响与展望:生成式AI及更多思考|社区征文

小诚信驿站

年中技术盘点

没收入是表象,UMU CEO李东朔的出海经验:第一年破100国家

B Impact

AIGC 对程序员的影响 | 社区征文

sidiot

AI AIGC 年中技术盘点

阿里云Redis与Tair压力测评

WizInfo

C++中map的使用方法

芯动大师

代码随想录 Day15 - 二叉树(二)

jjn0703

Docker学习路线3:安装设置

小万哥

Docker 容器 后端 开发 开发程序员

go 实现ringbuffer以及ringbuffer使用场景介绍

蓝胖子的编程梦

TCP 网络 epoll ringbuffer 环形缓冲区

机器学习洞察 | 挖掘多模态数据机器学习的价值

亚马逊云科技 (Amazon Web Services)

机器学习

代码随想录 Day14 - 二叉树(一)

jjn0703

从0到100:定制公交预约小程序开发笔记

CC同学

PyTorch: nn网络层-卷积层

timerring

PyTorch

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