前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >npm v7.0.0 发布 - 带来数个重大更新

npm v7.0.0 发布 - 带来数个重大更新

作者头像
ConardLi
发布2020-10-30 11:48:36
2.3K0
发布2020-10-30 11:48:36
举报
文章被收录于专栏:code秘密花园

很难相信,11年前, JavaScript 社区还没有 npm 。快进到今天,npm 现在拥有数百万的开发人员和 130 万个软件包,每月下载 75B

npm v7.0.0 Node.js 15.0.0 一起发布,如果你想立即尝试,可以运行 npm i -g npm@7 进行安装。

令人兴奋的新功能

npm 7带有一些期待已久的功能,其中包括:

  • Workspacesnpm CLI 的一组功能,可支持从单个顶级软件包中管理多个软件包
  • 自动安装 peerDependencies:在 npm 7 之前,开发人员需要自己管理和安装peerDependencies。新的peer dependencies可确保在 node_modules 树中peerDependencies的位置处或之上找到有效匹配的 peerDependencies
  • package-lock v2和对yarn.lock 的支持:新的 package-lock 格式将释放确定性可复制构建的功能,并且包括 npm 完全构建软件包树所需的一切。在忽略 npm 7yarn.lock 文件之前,npm cli现在可以将 yarn.lock 用作软件包元数据和分辨率指南的来源。

旧的又是新的

npm 的内部结构已得到重大重构。在分离关注点方面已经付出了巨大的努力。例如,对 node_modules 树的检查和管理已移至 Arborist 模块 。你可以在 npmjs 博客上中了解有关 Arborist 的信息。

这些内部更改将确保 npm 代码库随着时间的推移更加可靠并且易于维护。更少的错误和更快的迭代周期,我们将能够比以往更快地将更新交付给 npm

我们已经使用 Node.js 测试套件 CITGMnpm 7.0.0 进行了测试,并且很高兴地报告说,尽管内部有巨大的变化,当 npm 7npm 6120+ 高度依赖的模块运行时,没有新的模块会失败!

重大变化

尽管对 npm 内部进行了大修,但团队仍在不懈地努力,以确保对大多数工作流的干扰最小。也就是说,必须进行一些重大更改才能改善总体开发人员体验。npm 7.0.0中 的重大更改包括:

  • 自动安装 peer dependencies (虽然我们认为此功能是理想的新行为,但它确实有可能破坏某些工作流程)。
  • npm 使用 package.exports 字段,因此能再使用 require() npm 的内部模块。
  • npx 已完全重写为 npm exec 命令。功能上有很多更改,最明显的是,如果你试图运行的模块尚未安装,会出现提示。
  • npm audit--json 的可读和性和输出样式方面都发生了重大变化 。

下一步是什么

npm 7 是一个很大的变化,我们要格外小心,以免破坏使用 npm 的数百万个工作流程,尤其是在生产环境中。因此,我们将从 Node.js 中选取一个页面,并逐步发布该版本。

npm 7.0.0 不会被标记为 latest; 除非你通过运行 npm install -g npm@7 或安装 Node.js 15 进行选择,否则默认情况下,你的工作流将不会获得 npm v7.0.0

尽管我们有信心该版本可以每天使用,但我们希望更多地用于生产环境,以获取你的反馈和错误报告。当我们确定 npm 7 符合要包含在 Node.js LTS 发行版中的标准时,我们将发行版发布为 latest

我们还将继续通过新功能来改进 npm CLI,包括 Workspaces包覆盖。如果你对 npm CLI 的功能有任何想法,请查看我们的 RFC 库(https://github.com/npm/rfcs)并打开一个 issue

了解更多:https://github.blog/2020-10-13-presenting-v7-0-0-of-the-npm-cli/

点赞、在看支持作者❤️

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 code秘密花园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 令人兴奋的新功能
  • 旧的又是新的
  • 重大变化
  • 下一步是什么
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档