npm v7.0.0 发布

编程入门 行业动态 更新时间:2024-10-12 22:33:37

<a href=https://www.elefans.com/category/jswz/34/1771446.html style=npm v7.0.0 发布"/>

npm v7.0.0 发布

很难相信,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 库()并打开一个 issue

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

  • 关注公众号【前端宇宙】,每日获取好文推荐

  • 添加微信,入群交流


“在看和转发”就是最大的支持

更多推荐

npm v7.0.0 发布

本文发布于:2024-02-16 18:30:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1691061.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:npm

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!