广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Node.js包管理器npm的具体使用
  • 921
分享到

Node.js包管理器npm的具体使用

2024-04-02 19:04:59 921人浏览 薄情痞子
摘要

目录目的npm init 与 package.JSON文件模块安装与管理安装模块查看已安装模块更新模块删除模块npx模块编译版本控制换源使用 nrm 工具换源使用 cnpm 代替 n

目的

目前的node.js安装包中都带有一个重要的工具 包管理器npm 。npm主要有两方面功能:下载管理第三方模块;构建与运行项目。npm使用本身并不复杂,但是在大陆的网络环境下使用并不省心,徒增许多工作量。这篇文章将对相关内容做个说明。

npm init 与 package.json文件

node.js的项目根目录下通常会有一个 package.json 文件,该文件主要配置项目相关的信息,包括项目名称、版本号、入口文件、需要的模块等信息。该文件可以手动建立,不过通常都是用 npm init 命令来生成的(也可以使用 npm init -y 跳过询问阶段生成带默认参数的package.json文件):

在这里插入图片描述

通常 package.json 文件中都会包含很多字段,比如下面这样的:


{
  "name": "naisu",
  "version": "1.0.0",
  "description": "lalala",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "nx",
  "license": "ISC",
  "dependencies": {
    "electron-squirrel-startup": "^1.0.0",
    "serialport": "^9.2.4"
  },
  "devDependencies": {
    "electron": "15.1.1",
    "electron-rebuild": "^3.2.3"
  }
}

其中有些字段是相对比较重要的,相关说明如下:

name 项目名称

version 项目版本号

main 项目主入口文件

scripts npm run 命令脚本
比如上面配置了 "start": "node index.js" ,那我们就可以在终端中用 npm run start 来执行 node index.js 命令(start/stop/test/restart这四个命令可以省略run),这在需要执行复杂命令的时候很好用;

dependencies 项目运行所依赖的模块
devDependencies 项目开发所需要的模块
这两个字段保存了项目所依赖的模块名称和版本,有这个信息后就可以使用 npm install 来安装这些模块到项目中了

模块安装与管理

安装模块

模块安装使用 npm install <packageName> 方式,比如下面演示中安装了 cowsay 模块:

在这里插入图片描述

npm在安装模块的时候会同时安装该模块所依赖的模块,默认情况下会安装在目录下的 node_modules 文件夹中,安装的模块会记录在 package.json 文件的 dependencies 字段中,同时会在 package-lock.json 文件中记录模块与依赖的模块的版本信息。

安装时模块名称后可以加上 @版本号 来安装指定版本,如 npm install cowsay@1.5.0

如果一个模块已安装了,再次执行安装命令的时候将不会重新安装,可以使用 -f--force 选项 强制安装来处理: npm install --force <packageName>

在安装时可以使用 -S--save 选项将模块标记为 dependencies 项目运行所依赖的模块(默认值);也可以使用 -D--save-dev 选项将模块标记为 devDependencies 项目开发所需要的模块,如 npm install --save-dev <packageName>

模块也可以使用 -g--global 选项安装到全局目录,如 npm install --global <packageName>

安装模块命令中的 install 也可以简写为 i 使用。

查看已安装模块

使用 npm list 可以查看当前目录已安装的模块及其依赖关系。

使用 -g--global 选项可以查看全局安装的模块信息,使用 --depth=x 可以指定查看深度。

在这里插入图片描述

更新模块

使用 npm update <packageName> 可以用来更新模块,上面提到的 --save --save-dev --global 等选项在这里也可以用。

删除模块

使用 npm uninstall <packageName> 可以卸载模块。
使用 -g--global 选项可以卸载全局模块。

npx

npx是新版本的npm(自 5.2 起)中带的一个工具,主要是用来运行模块的:如果项目目录或是系统环境中有该模块的话直接运行该模块,如果没有的话会也不用安装,npx会将它下载到一个临时目录中再运行。

在这里插入图片描述

模块编译

有的第三方模块是用其它语言开发的,这些模块不能直接运行,需要针对运行环境进行编译后才能使用,这就需要编译工具了,最常见的比如 node-gypnode-pre-gyp 工具。对于某些模块在某些平台上可能还需要一些其它的工具,比如在windows平台上经常会需要用到 windows-build-tools 这个工具。

这些工具都可以在用到的时候再安装进行编译,多数时候npm会自动处理这些事情。有的平台也可以在安装Node.js时安装这些工具,比如在windows平台上可以在安装Node.js时勾选安装这些工具:

在这里插入图片描述

它会在安装完Node.js后接着安装这些工具:

在这里插入图片描述

在这里插入图片描述

如果一开始安装Node.js的时候没有勾选这个也没事,重新安装下也可以。

版本控制

在前面出现的 package.jsonpackage-lock.json 文件中都记录了模块相关信息,其中一个重要的信息就是模块的版本号。

Node.js中模块或项目的版本号由以点分隔的三个数字组成,从左到右依次为 主版本次版本补丁版本

版本号规则本身没什么特别的,不过在npm管理和 package.json 、 package-lock.json 两个文件中版本号前后有很多修饰符,这些符号规定了模块在安装、更新时的规则,常见的规则如下:

  • 无任何修饰:指定特定版本,如 2.2.3
  • latest :使用可用的最新版本;
  • ^ :只会执行不更改最左边非零数字的更新;
  • ~ :只会更新补丁版本;
  • > :接受高于指定版本的任何版本;
  • < :接受低于指定版本的任何版本;
  • = :接受确切的版本,可以和 < > 组合使用;
  • - :接受一定范围的版本,如 2.1.0 - 2.6.2
  • || :组合,如 < 2.1 || > 2.6

换源

在大陆的网络环境下经常会配到模块下载安装出错或是失败,导致程序无法正确运行,可以尝试下面步骤重新安装:

  • 清除缓存 npm cache clean --force
  • 删除 node_modules 文件夹及其中内容;
  • 如果有 package-lock.json 文件也可以删除它(记得备份);
  • 重新安装模块(有 package.json 文件的话只要 npm install 就可以一步安装所有模块);

如果上面方式不管用,并且没有梯子或是梯子也不管用的话就只能尝试换源了。

使用 nrm 工具换源

npm换源最方便的就是使用 nrm 工具了,可以使用 npm install -g nrm 全局安装,当然也可以直接使用 npx nrm 来使用。 nrm 常用操作主要就下面这些:

  • nrm ls 列出可用源与地址;
  • nrm test 测试可用源速度;
  • nrm use <reGIStry> 切换源;
  • add <registry> <url> 添加源;
  • del <registry> 删除源;

在这里插入图片描述

使用 cnpm 代替 npm

cnpm 可以用来代替 npm 的大部分工作,但它使用的是淘宝的镜像源,详细可见: https://npmmirror.com/

可以使用 npm install -g cnpm --registry=Https://registry.npmmirror.com 来安装 cnpm 。之后使用的时候只要把原本需要 npm 的地方换成 cnpm 就行了。

总结

Node.js开发基本离不开npm工具,不过npm使用也简单,遇到主要的问题可能就是网络问题了。

Node.js中包管理工具除了npm和上面的cnpm外常见的还有Yarn,具体信息可以参考其官方链接:https://classic.yarnpkg.com/lang/en/

到此这篇关于Node.js包管理器npm的具体使用的文章就介绍到这了,更多相关Node.js包管理器npm内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Node.js包管理器npm的具体使用

本文链接: https://www.lsjlt.com/news/158382.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Node.js包管理器npm的具体使用
    目录目的npm init 与 package.json文件模块安装与管理安装模块查看已安装模块更新模块删除模块npx模块编译版本控制换源使用 nrm 工具换源使用 cnpm 代替 n...
    99+
    2022-11-12
  • node.js的NPM包管理工具如何使用
    这篇文章主要介绍“node.js的NPM包管理工具如何使用”,在日常操作中,相信很多人在node.js的NPM包管理工具如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-12-05
    node.js npm
  • Node.js中的包管理工具npm怎么使用
    本篇内容介绍了“Node.js中的包管理工具npm怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一...
    99+
    2022-10-19
  • Node.js打包管理工具NPM用法
    目录一、NPM使用介绍二、NPM全局安装和本地安装本地安装:全局安装:本地安装与全局安装命令:三、npm安装package.json四、npm安装模块五、模块的其他操作六、版本号七、...
    99+
    2022-11-13
  • Node.js包管理工具npm和yarn的用法
    这篇文章主要讲解了“Node.js包管理工具npm和yarn的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js包管理工具npm和yarn的用...
    99+
    2022-10-19
  • Node.js包管理器npm怎么用
    这篇文章主要介绍Node.js包管理器npm怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!目的目前的Node.js安装包中都带有一个重要的工具 包管理器npm 。npm主要有两方面功能:下载管理第三方模块;构建...
    99+
    2023-06-21
  • Node.js的npm包管理器基础使用教程
    配置 npm set npm set init-author-name 'Your name' npm set init-author-email 'Your email' npm set init...
    99+
    2022-06-04
    管理器 基础 教程
  • Node.js模块与npm包管理器如何使用
    本篇内容主要讲解“Node.js模块与npm包管理器如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js模块与npm包管理器如何使用”吧!require函数作用:在当前模块中加载...
    99+
    2023-06-29
  • 详解Node.js包的工程目录与NPM包管理器的使用
    工程目录 了解了以上知识后,现在我们可以来完整地规划一个工程目录了。以编写一个命令行程序为例,一般我们会同时提供命令行模式和 API 模式两种使用方式,并且我们会借助三方包来编写代码。除了代码外,一个完整的...
    99+
    2022-06-04
    管理器 详解 目录
  • Node.js包管理工具怎么使用
    这篇文章主要介绍“Node.js包管理工具怎么使用”,在日常操作中,相信很多人在Node.js包管理工具怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.js包管理工具怎么使用”的疑惑有所帮助!...
    99+
    2023-07-06
  • Node.js安装教程和NPM包管理器使用详解
    2009年的JSCOnf大会上,一个叫Ryan Dahl的年轻程序员向人们展示了一个他正在做的项目,一个基于Google V8引擎的JavaScript运行平台,它提供了一套事件循环和低IO的应用程序编程接...
    99+
    2022-06-04
    管理器 详解 教程
  • Node.js的包管理器NPM是什么,以及如何使用它?
    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它使得使用JavaScript在服务器端开发变得简单和高效。Node.js自带一个包管理器,叫做NPM(Node Package Manager),它允许开发者...
    99+
    2023-06-21
    并发 ide npm
  • Node.js中的模块化,npm包管理器详解
    目录模块化的基本概念什么是模块化模块化拆分的好处Node.js中的模块化Node.js中模块的分类加载模块模块作用域向外共享模块作用域中的成员module对象exports对象npm...
    99+
    2022-11-12
  • node.js包管理工具Yarn使用简介
    Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 , 它主要是为了弥补 npm 的一些缺陷而出现的。和npm相比,它...
    99+
    2022-11-13
  • node.js包管理工具Yarn如何使用
    本文小编为大家详细介绍“node.js包管理工具Yarn如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“node.js包管理工具Yarn如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Yarn是由F...
    99+
    2023-07-02
  • node.js npm的包管理机制是什么
    这篇文章主要介绍“node.js npm的包管理机制是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node.js npm的包管理机制是什么”文章能帮助大家解决...
    99+
    2022-10-19
  • Node.js基础入门之模块与npm包管理器使用详解
    目录require函数模块分类第三方模块1. 安装第三方模块2. 引入第三方模块3. 示例测试系统模块require注意事项exports导出对象1. exports示例2. exp...
    99+
    2022-11-13
  • Node包管理器npm和yarn怎么使用
    这篇文章主要介绍“Node包管理器npm和yarn怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node包管理器npm和yarn怎么使用”文章能帮助大家解决...
    99+
    2022-10-19
  • NPM包管理器的使用技巧,你必须知道!
    随着Node.js的流行,NPM(Node Package Manager)已经成为了前端和后端开发者必不可少的工具之一。NPM包管理器可以让开发者轻松地管理和安装依赖包,同时也提供了很多有用的功能和技巧,让我们来了解一下! 查找包 ...
    99+
    2023-09-03
    分布式 npm numy
  • Node.js中的npm与包怎么使用
    本篇内容主要讲解“Node.js中的npm与包怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中的npm与包怎么使用”吧!包什么是包Node.js中的第三方模块又叫做包,指的...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作