写点什么

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

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

关注

评论

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

Netty服务端开发及性能优化 | 京东云技术团队

京东科技开发者

Netty 高性能 netty内存管理 企业号 5 月 PK 榜

使用篇丨链路追踪(Tracing)很简单:链路拓扑

阿里巴巴云原生

阿里云 云原生 链路追踪 Tracing

AIGC遇上低代码的碰撞与融合

力软低代码开发平台

分布式编译系统的搭建

GreatSQL

MySQL greatsql社区 分布式编译

演讲回顾 | 释放Atlassian工具的力量

龙智—DevSecOps解决方案

Atlassian Jira Atlassian 云版

中国信通院召开政企信息技术应用创新(信创)促进中心启动会

信通院IOMM数字化转型团队

信创 信创产业 信创生态

openEuler之上的K3s ARM64集群管理

openEuler

Linux 云原生 k8s AWS Kubernetes Serverless

版本控制 | 如何使用虚幻引擎的多用户编辑(MUE)功能

龙智—DevSecOps解决方案

版本控制 虚幻引擎 虚拟制作 虚幻多用户编辑

Python函数基础回顾

timerring

Python

膜拜,国内算法大佬亲撰:数据结构与算法全解笔记

程序知音

Java 算法 数据结构与算法 后端技术

标签系列:标签的价值、生产与评价

Taylor

标签 CDP 用户画像 标签体系 精准营销

153个!PCB板上的字母符号都代表啥?一图带你搞懂!

华秋PCB

物理 电路 元器件 PCB PCB设计

简洁好用的思维导图软件:simplemind 中文版

真大的脸盆

Mac 思维导图 Mac 软件 思维导图软件

使用TPC-H 进行GreatSQL并行查询测试

GreatSQL

MySQL 并行查询 greatsql greatsql社区

Python文件和操作系统基础

timerring

Python

一文带你了解EPM系统的发展史

智达方通

EPM 业财融合 智达方通 企业绩效管理 海波龙

八股MQ001——为什么需要使用MQ?

Codyida

后端

推动变革,打造全新的全面预算管理解决方案

智达方通

智能多维数据库 多维数据库 业财融合 全面预算管理

华秋干货铺 | PCB板为什么要做树脂塞孔?

华秋电子

NFTScan 推出「nftonchain」Telegram channel,实时推送链上 NFT 热点数据

NFT Research

NFT 智能推送 #Web3

自动化测试 | 如何在API开发中践行“设计优先”方法?SwaggerHub助您一臂之力

龙智—DevSecOps解决方案

API SmartBear

干货满满的技术盛宴!OpenHarmony开发者大会技术分论坛成功举办

最新动态

升级企业数智化底座 用友iuap拉满长期主义

用友BIP

涨薪60%,从小厂逆袭,坐上美团技术专家(面经+心得)

程序知音

Java 后端 java面试 java架构 Java进阶

五月到了,再来看看ChatGPT给我们带来了什么吧!

加入高科技仿生人

AI AIGC ChatGPT

iOS MachineLearning 系列(10)—— 自然语言分析之文本拆解

珲少

八股MQ002——说说Rebalance?

Codyida

后端

八股MQ004——聊聊Producer

Codyida

后端

八股MQ005——聊聊Broker

Codyida

后端

京东物流常态化压测实践 | 京东云技术团队

京东科技开发者

测试 压测 常态化压测 企业号 5 月 PK 榜

重塑数据活力 | 焱融科技与DaoCloud 道客完成云原生兼容性认证

焱融科技

#云原生 #高性能 #分布式文件存储 #文件存储 #分布式存储

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