演讲弹幕插件推荐苹果版:Node工程的依赖包管理方式

太平洋在线 54 0

来源 | OSCHINA 社区

作者 | 京东云开发者—京东零售 陈震

在前端工程化中,Java 依赖包管理是太平洋xg111太平洋在线下载非常重要的一环演讲弹幕插件推荐苹果版。依赖包通常是项目所依赖的第三方库、工具和框架等资源,它们能够帮助我xg111net们减少重复开发、提高效率并且确保项目可以正确的运行。

目前比较常见的前端包管理器有 npm 和 Yarn,npm 是 Node.js 自带的包管理器,它可以安装、共享和分发 node.js 模块演讲弹幕插件推荐苹果版。最近 pnpm 也挺火的,通过并行下载和安装依赖项,在执行安装、更新、删除等操作时也更快。

但无论使用哪个包管理器,都要通过 package.json 文件的版本控制功能,保证在不同开发环境中的一致性演讲弹幕插件推荐苹果版。那么,package.json 是如何进行依赖包管理的呢?我们来一起深入了解一下 package.json的配置方式。

一、分类管理

演讲弹幕插件推荐苹果版:Node工程的依赖包管理方式-第1张图片-太平洋在线下载

根据 package.json 规范,依赖包被大致分为以下几种:dependencies、devDependencies、optionalDependencies、peerDependencies 和 bundledDependencies 总共 5 种演讲弹幕插件推荐苹果版。dependencies 和 devDependencies 这两项是我们使用较为频繁的。

1、dependencies

工程在生产环境下也需要使用的依赖,例如 react、antd 等,使用 npm 安装插件时,会默认写入 dependencies,也可以使用 - P 或 --save-prod 后缀演讲弹幕插件推荐苹果版

2、devDependencies

工程只有开发环境需要,生产环境不需要的依赖,例如 eslint、babel 等,使用 - D 或 --save-dev 来写入 devDependencies演讲弹幕插件推荐苹果版

展开全文

3、optionalDependencies

顾名思义,依赖是可选的,它们只有在运行时需要使用某些功能时才会被引入演讲弹幕插件推荐苹果版。通常用于实现某些可选的功能或优化。例如,一个包可能依赖于某个库来实现某种高级功能,但是这个库在某些环境下不存在或不可用。在这种情况下,可以将该库声明为可选依赖项,并在代码中检查该依赖项是否存在,然后根据情况来决定是否使用该高级功能。使用这个功能的工程比较少,使用 - O 或 --save-optional 来写入 optionalDependencies。

4、peerDependencies

工程需要和这个依赖配套使用,一般用于解决插件依赖的核心库的版本和主项目依赖的核心库的版本不一致的问题,常见于开发配套插件演讲弹幕插件推荐苹果版。例如 vuex@4.1.0 声明了:

"peerDependencies": {

"vue": "^3.2.0"

表明 vuex@4.1.0 需要和 vue@^ 3.2.0 一起安装和使用,否则可能会出现异常演讲弹幕插件推荐苹果版。使用 - O 或 --save-optional 来写入 optionalDependencies。

5、bundledDependencies

工程依赖于某些特定的依赖项,并且希望在运行时不必再次下载它们,则可以使用该选项演讲弹幕插件推荐苹果版。npm pack 会将这些依赖一同放入生成的包中,并且在 npm install 时本工程,这些依赖项也会被一同安装。使用 - B 或 --save-bundle 来写入 bundledDependencies。

看到这里你可能会有点疑问,为什么 npm 没有提供类似 --save-peer 的指令来写入 peerDependencies 呢?原因是 peerDependencies 暗示本工程将会被其他主模块使用,但是主模块本身并不需要在项目代码中显式使用演讲弹幕插件推荐苹果版。因此官方没有支持这一指令。

二、版本管理

一般情况下,以上依赖配置(除了 bundledDependencies)都需要指定依赖的版本号,版本号遵循 semver 语义化版本规范(Semantic Versioning)命名规则,可以用下图表示,如 2.1.0、3.1.4-beta.2 等演讲弹幕插件推荐苹果版

当发生不兼容的 API 修改时演讲弹幕插件推荐苹果版,更新 major 位

当做了向下兼容的功能性新增时演讲弹幕插件推荐苹果版,更新 minor 位

当做了向下兼容的问题修正时演讲弹幕插件推荐苹果版,更新 patch 位

可选的 - tags 即先行版本号,可以作为发布正式版之前的版本,格式是在修订版本号后面加上一个连接号(-),再加上一连串以点(.)分割的标识符,标识符可以由英文、数字和连接号([0-9A-Za-z-])组成演讲弹幕插件推荐苹果版

在 npm 的依赖的规则中演讲弹幕插件推荐苹果版,还有 ~、>、<、=、>=、<=、-、||、x、X、*等符号来描述适用的版本范围;

^ :表示只锁定 major,不小于指定版本号的版本范围演讲弹幕插件推荐苹果版。例如 ^1.1.0 ,代表 >=1.1.0 <2.0.0 的版本范围。

~ :表示锁定 major 和 minor,不小于指定版本号的版本号演讲弹幕插件推荐苹果版。例如 ~1.1.0 ,代表 >=1.1.0 <1.2.0 的版本范围。

x、X、*:表示通配符演讲弹幕插件推荐苹果版。例如 1.1.x ,也代表 >=1.1.0 <1.2.0 的版本范围。

默认情况下,若指定了一个版本范围,npm 会在范围内安装最新版本的依赖演讲弹幕插件推荐苹果版。当使用 npm install XX 时,会安装当前最新版本,并在版本号前默认加上 ^ 符号。因此在安装运行老项目时,很容易出现安装依赖后,项目启动报错的情况,原因就是某些依赖没有做到很好的向下兼容,导致重新安装的版本太高造成兼容性错误,此时需要定位错误依赖并回退版本。

三、npm install 加载机制

演讲弹幕插件推荐苹果版:Node工程的依赖包管理方式-第2张图片-太平洋在线下载

npm install 核心流程大致分为以下 5 步:

1、npm向registry查询依赖压缩包的网址演讲弹幕插件推荐苹果版

2、下载压缩包,存放在cache目录,供下次安装时使用演讲弹幕插件推荐苹果版

3、解压压缩包到当前项目的node_modules目录演讲弹幕插件推荐苹果版

4、把所有安装的包信息写入package-lock.json,供下次安装时使用演讲弹幕插件推荐苹果版

5、继续处理依赖的依赖演讲弹幕插件推荐苹果版

install 的过程速度也和每一个步骤息息相关:

(1)共享工程 package-lock.json,可以避免向 registry 查询的步骤,并且保证不同环境下安装包的一致性演讲弹幕插件推荐苹果版

(2)使用下载速度快的 registry 镜像(例如 jd 镜像)演讲弹幕插件推荐苹果版

(3)预先进行依赖关系分析构建依赖关系,然后最后再并行下载(例如 yarn)演讲弹幕插件推荐苹果版

希望以上的介绍能够帮助你更好的理解 npm 的依赖管理演讲弹幕插件推荐苹果版

MariaDB市值暴跌演讲弹幕插件推荐苹果版,收入不足以支持运营

微信闪退Bug罪魁祸首竟是二维码引擎演讲弹幕插件推荐苹果版,附源代码分析 Ubuntu 23.04性能大幅下滑

🌟 活动推荐

2023 年 5 月 27-28 日,GOTC 2023 全球开源技术峰会将在上海张 江科学会堂隆重举行演讲弹幕插件推荐苹果版

为期 2 天的开源行业盛会,将以行业展览、主题发言、特别论坛、分论坛、快闪演讲的形式来诠释此次大会主题 ——“Open Source, Into the Future”演讲弹幕插件推荐苹果版。 与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门技术主题,以及 OSPO、汽车软件、AIGC、开源教育培训、云原生、信创等热门话题,探讨开源未来,助力开源发展。

标签: 包管 依赖 方式 工程 Node

抱歉,评论功能暂时关闭!