写点什么

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

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

关注

评论

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

渲大师携手向日葵,远控赋能云渲染及GPU算力服务

Finovy Cloud

渲染 GPU算力

AddressSanitizer 技术初体验

焱融科技

内存泄露 存储 文件存储 分布式文件存储

提前解锁 2 大直播主题!今天手把手教你如何完成软件包集成?|第 29-30 期

OpenAnolis小助手

云原生 直播 龙蜥大讲堂 SIG 双周会 CSI 与 open-local

《数字经济全景白皮书》保险数字化篇 重磅发布

易观分析

保险数字化

COSCon'22 社区召集令来啦!Open the World,邀请所有社区一起拥抱开源,打开新世界~

开源社

开源

如何提高网站权重

源字节1号

微信小程序 软件开发 网站开发

代理和反向代理

沃德

程序员 7月月更

python变量:引用和可变性

AIWeker

Python python小知识 7月月更

Spring Cloud源码分析之Eureka篇第三章:EnableDiscoveryClient与EnableEurekaClient的区别(Edgware版本)

程序员欣宸

Java SpringCloud 7月月更

Python 入门指南之深入 Python 流程控制

海拥(haiyong.site)

7月月更

关于静态类型、动态类型、id、instancetype

NewBoy

前端 移动端 iOS 知识体系 7月月更

LSF 集群全面监控!浅析 HPC 基于龙蜥操作系统的迁移替代解决方案

OpenAnolis小助手

开源 解决方案 龙蜥操作系统 常青藤开源科技 HPCinsights

【鲲鹏BoostKit】OminiRuntime ——高效统一的大数据分析Runtime底座

Geek_2d6073

A5000 vGPU显示模式切换

姚华

显卡、gpu

beegfs高可用模式探讨

姚华

HPC beegfs 并行文件系统

Scala 基础 (五):面向对象(上篇)

百思不得小赵

scala 大数据 oop 7月月更

Java多线程案例之阻塞队列

未见花闻

7月月更

设计你的安全架构OKR

I

安全架构师 安全架构 企业安全 安全治理

BP神经网络(算法整体思路及原理+手写公式推导)

秃头小苏

7月月更

TDengine 社区问题双周精选 | 第二期

TDengine

数据库 tdengine 时序数据库

redisson bug分析

wgy

Java redis redisson

spark调优(二):UDF减少JOIN和判断

怀瑾握瑜的嘉与嘉

spark 7月月更

让 Rust 库更优美的几个建议!你学会了吗?

非凸科技

rust API

安全保护能力是什么意思?等保不同级别保护能力分别是怎样?

行云管家

等保 等级保护 安全保护能力

案例 ①|主机安全建设:3个层级,11大能力的最佳实践

青藤云安全

网络安全 主机安全 网络安全、攻防演练

OAI 5G NR+USRP B210安装搭建

柒号华仔

5G 7月月更

前置机是什么意思?主要作用是什么?与堡垒机有什么区别?

行云管家

堡垒机 前置机

视频化全链路智能上云?一文详解什么是阿里云视频云「智能媒体生产」

阿里云CloudImagine

人工智能 媒体 音视频

“整洁架构”和商家前端的重构之路

得物技术

架构 前端 重构

终于可以一行代码也不用改了!ShardingSphere 原生驱动问世

SphereEx

数据库 ShardingSphere ShardingSphere-JDBC

NFTScan 开发者平台推出多链 NFT 数据 Pro API 服务

NFT Research

NFT 研发团队

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