你应该知道的几类npm依赖包管理详解

你应该知道的几类npm依赖包管理详解

1. devDependencies

devDependencies 是一个特殊的依赖包,他们仅在开发时依赖使用。也就是说,这些依赖包只在构建/编译/测试/调试时使用。
在安装的时候,使用 npm install --only=dev 安装,或使用 npm install <package> --save-dev 的形式保存到 package.json 文件中。

例如,在开发一个 React 应用时,我们可能会用到 babel 作为转换器进行 JSX 语法编译,这时候需要在 devDependencies 中添加 babel 软件包。

// package.json
{
  "devDependencies": {
    "@babel/core": "^7.4.3",
    "@babel/preset-env": "^7.4.3",
    "@babel/preset-react": "^7.0.0",
  }
}

2. dependencies

dependencies 是一个项目中最常用的依赖包类型。他们是开发和运行时都需要用到的软件包。
在安装时,使用 npm install <package>npm install <package> --save 命令安装。

例如,如果我们要在一个 react 应用中使用 axios 作为 HTTP 请求库,我们需要在 dependencies 中添加 axios。

// package.json
{
  "dependencies": {
    "axios": "^0.19.0",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
  }
}

3. peerDependencies

peerDependencies 是一种特殊的依赖包,主要用来要求使用者安装一个针对于特定模块的特定版本软件包。
这种依赖关系适用于包发布者对于包使用者的版本要求不确定的场景。

例如,一个发布了 react 组件库的包作者并不知道,使用者的 react 和 react-dom 的版本,那么就可以用 peerDependencies 来要求使用者安装这两个软件包,并且限制了版本。这样可以避免组件无法在特定版本下正常使用的问题。

// package.json
{
  "peerDependencies": {
    "react": "^16.0.0",
    "react-dom": "^16.0.0",
  }
}

4. optionalDependencies

optionalDependencies 是可选安装依赖。他们只在被依赖的包存在时才会被使用。如果不存在,依赖包仍可正常引入。

例如一个包中,有一个子组件依赖于 rxjs ,但这个库并不是必须的,可以使用 optionalDependencies 来指定这个依赖是可选的。

// package.json
{
  "optionalDependencies": {
    "rxjs": "^6.5.2",
  }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:你应该知道的几类npm依赖包管理详解 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • NodeJs模拟登陆正方教务

    下面是“NodeJs模拟登陆正方教务”的完整攻略: 一、前置准备 在开始NodeJs模拟登陆正方教务之前,我们需要保证以下几点: 学校教务系统平台支持模拟登陆,常见的支持教务系统有“正方教务系统”、“智慧校园”等; 获取学校教务系统的账号和密码,以进行模拟登陆; 安装NodeJs开发环境和npm包管理工具,以便安装相关插件。 二、安装必要插件 模拟登陆正方教…

    node js 2023年6月8日
    00
  • Node.js express中的身份认证的实现

    Node.js和Express实现身份认证的过程大致包含以下几个步骤: 安装相关插件 在Node.js和Express中,通常使用passport和passport-local插件作为身份认证的工具。可以使用npm安装: npm install passport passport-local 配置身份认证策略 在应用程序的启动文件中(例如 app.js)引入…

    node js 2023年6月8日
    00
  • Nodejs进阶之服务端字符编解码和乱码处理

    Nodejs进阶之服务端字符编解码和乱码处理 字符编解码 在服务端处理字符编解码时,需要注意以下几个方面: 请求头中的字符编码 浏览器发送请求时,会将当前页面的字符编码信息放在请求头中,服务端在解析请求时需注意此处的字符编码信息。 示例代码: const http = require(‘http’); const server = http.createSe…

    node js 2023年6月8日
    00
  • 浅谈Node 调试工具入门教程

    下面是详细讲解“浅谈Node 调试工具入门教程”的完整攻略。 浅谈Node 调试工具入门教程 什么是调试工具 调试工具是一种帮助开发者诊断和解决代码问题的工具。它们可以被用于各种编程语言和环境中。 Node 调试工具简介 Node.js其实自带了一个调试器,叫做Node.js调试器(Node.js Debugger),也可以使用其他的调试工具,例如: VS …

    node js 2023年6月8日
    00
  • Node.js express中的身份认证的实现

    Node.js express中的身份认证是Web应用开发中非常重要的一环。以下是实现身份认证的完整攻略: Step1:安装相关模块 首先安装以下模块: express-session:用于维持用户的会话状态 passport:提供了运用于Node.js的身份验证中间件 passport-local:用于基于用户名和密码的身份验证策略 bcryptjs:用于…

    node js 2023年6月8日
    00
  • Node.js 内置模块fs文件系统操作示例详解

    Node.js 内置模块fs文件系统操作示例详解 简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 内置了许多实用的模块,其中 fs 模块是常用的文件系统操作模块。 在本文中,我们将详细讲解 Node.js 内置模块 fs…

    node js 2023年6月8日
    00
  • js 火狐下取本地路径实现思路

    为了在火狐浏览器下取得本地文件的路径,在JavaScript中我们需要使用File API。更具体地说,我们可以通过创建一个input元素并设置它的type属性为file,然后监听它的change事件。在事件的处理函数中,我们可以从input元素里获取File对象并利用FileReader API将文件读取为data URL。data URL可以作为文件的路…

    node js 2023年6月8日
    00
  • node实现爬虫的几种简易方式

    Node实现爬虫的几种简易方式 在Node中,我们可以利用一些开源的爬虫框架或者自己编写代码来实现爬虫。 1. 使用开源爬虫框架 1.1 Cheerio + Request Cheerio是服务端的jQuery实现,可以将HTML文件转化为Dom对象。Request是一个可以搭建HTTP请求的库。这两个库结合起来可以实现简单的网页爬取。 以下代码实现了爬取百…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部