报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

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

关注

评论

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

美光遭遇审查,存储市场成了“香饽饽”?

脑极体

美光

OpenHarmony/HarmonyOS应用上下文Context

坚果

OpenHarmony OpenHarmony3.2 三周年连更

去年我是怎么解决团队问题的

光毅

团队管理 领导力

使用 Amazon Step Functions 和 Amazon Athena 实现简易大数据编排

亚马逊云科技 (Amazon Web Services)

Unity 报错之 接入YomboTGSDK后打包报错:mainTemplate.gradle needs to be updated(property ‘unityStreamingAssets‘)

陈言必行

Unity 三周年连更

STM32F103RCT6驱动SG90舵机-完成正反转角度控制

DS小龙哥

三周年连更

Socket学习网络基础

芯动大师

android TCP通信 三周年连更

简单高效的Shell数组操作技巧与技术

小毛驴的烂笔头

linux命令 linux数组

HTTP方法大全

阿泽🧸

HTTP 三周年连更

Java面向对象编程高级

timerring

Java

NDP常用报文格式

穿过生命散发芬芳

NDP 三周年连更

CSS文本平衡排版 text-wrap:balance

南城FE

CSS 前端 设计

轻医美面部抗衰品牌“娅蔻”宣布将进军江苏市场

科技热闻

基于多场景化解决方案,华为云助力制造业企业走出数字化转型困境

YG科技

小白福利 | Window前言

GreatSQL

MySQL greatsql greatsql社区

Java如何实现手动连接数据库(mysql或oracle)|超级详细,建议收藏

bug菌

MySQL oracle 三周年连更

如何设计一个几十万在线用户弹幕系统

做梦都在改BUG

前端面试题之性能优化大杂烩

肥晨

三周年连更

一文读懂线程池的实现原理

老周聊架构

三周年连更

Linux命令之find的高级用法

小毛驴的烂笔头

Linux find

《致“抄我”的朋友:你已经被我列入白名单!》

程序员晚枫

开源

Go语言并发编程的核心 —— GMP调度模型

Jack

挑战 30 天学完 Python:Day8 数据类型 - 字典 dict

MegaQi

Python 挑战30天学完Python 三周年连更

《设计模式之禅》Strategy_Pattern--策略模式

浅辄

设计模式 Java、 三周年连更

全栈开发实战|SSM框架整合开发

TiAmo

ssm mybits 全栈开发 三周年连更

华为云场景化解决方案 助力制造业企业数字化转型

YG科技

跨平台应用开发进阶(四十九)由环境切换引发的页面通讯机制思考

No Silver Bullet

跨平台应用开发 三周年连更 页面通讯机制

【倒计时4天】金融服务用户体验专场沙龙开启预约

易观分析

金融 经济

IDEA导入多模块maven项目时部分模块未成功加载

redcoder54

IDEA springboot

编程技术为王的天下终究要散了吗| 社区征文

卢卡多多

三周年征文

AI日课@20230417:AI之于教育;ChatGPT Sidebar:一个浏览网页时的强力AI助手

无人之路

人工智能 ChatGPT

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