分享更有价值
被信任是一种快乐

Node包管理器npm和yarn怎么使用

文章页正文上

这篇文章主要介绍“Node包管理器npm和yarn怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node包管理器npm和yarn怎么使用”文章能帮助大家解决问题。npm是什么使用npm前首先要了解什么是npmnpmNode的开源仓库,并且是全球最大的开源仓库截至2020年3月17日,npm为大约1200万开发人员提供了130万个软件包,这些开发人员每月下载这些软件包达750亿次要想去下载使用npm仓库里面的资源可以使用npm的指令npm开头的,如npm i axios 下载axios)或使用其它第三方的指令(第三方的Node包管理器),如yarn等官方说法:npmNodeJS的包管理和分发工具包管理就体现在它是个NodeJS的仓库,存放并管理着NodeJS的各种软件包分发工具就体现在使用npm的指令去下载npm仓库里的包在我们配置NodeJS环境时,npm指令模块是随着NodeJS一起安装的,我们可以通过终端运行npm -v 查看安装的版本:但如果默认安装的npm版本太老,你也可以自己手动安装更新npm@latest 代表安装最新版本,-g代表全局安装,这些npm指令将在后面讲到上面可以发现一个神奇的事情,我们正在通过npm安装npm,自己安装自己?这其实很好理解,npm的指令模块也是作为一个包存放于npm这个仓库中的,并且这个包的名字就叫npm所以我们一般称呼的npm都只是指npm的这个指令模块(这个名为npm的包)但其实npm这个词即代指了npm指令模块,也代指了npm这个NodeJS开源仓库本身
所以就有了我们在npm中(这个npm代表NodeJS的开源仓库)下载npm(这个npm代表名为npm的这个包,这个包是npm的指令模块)的说法npm常用指令npm的指令非常多,这里只列举出常用的,更多信息可见npm官方文档npm init :生成package.jsonnpm install下载package.json中记录的所有资源npm install 包名下载指定的包到当前目录下npm uninstall 包名卸载当前目录下指定的包npm update 包名更新当前目录下指定的包,不加包名则更新当前目录下所有包npm outdated 包名检查当前目录下指定包是否过时,不加包名则检查当前目录下所有包npm info 包名获取当前目录下包的详细信息npm list查看当前目录下安装的所有包及其依赖并显示版本号list可简写为lsnpm list 包名查看当前目录下安装的指定包的版本号list免费云主机、域名可简写为ls几点补充:install可简写为i,如:npm install axios可简写为npm i axiosuninstall 可简写为un在包名后加@符可指定包的版本,如:npm i md5@1下载1版本的md5,npm i md5@latest表示下载最新版本的md5npm指令后缀-g:指定全局环境npm指令默认是在当前目录下操作,加上-g是指定在全局环境下操作,如上面提到的全局安装npm最新版:npm i npm@latest -g,这样在任何目录下都能使用npm--save可简写为-s : 指定 生产环境 下的依赖(记录在dependencies中)npm5版本之后默认是--save,如安装在生产环境和开发环境都需要用到的axios:npm i axios -s--save-dev可简写为-D:指定开发环境下的依赖(记录在devDependencies中)如安装生产环境下不需要使用的babel(仅在开发环境下使用的到):npm i babel -D--save-prod可简写为-P:与--save相同--save-optional可简写为-O:指定可选依赖(记录在optionalDependencies中)--no-save:不会记录在package.json中关于-g,--save,--save-dev的具体作用和区别可看我的这篇文章:npm install -g/–save/–save-dev的区别npm指令后缀也可以放到包名的前面:npm i -g npm@latest依赖包管理npm 中,熟知的依赖是 :dependenciesdevDependencies除此之外,其实还有包括 :peerDependencies,optionalDependenciesbundledDependencies / bundleDependencies在内的几种依赖,这些都是在package.json中进行记录的:上面我们说npm指令后缀时提到了这几种依赖,这里详细说一下它们代表什么:dependenciesdevDependencies
peerDependencies
optionalDependencies可选依赖,如果有一些依赖包即使安装失败,项目仍然能够运行或者希望npm继续运行,就可以使用optionalDependencies,另外optionalDependencies会覆盖dependencies中的同名依赖包,所以不要在两个地方都写bundledDependencies / bundleDependencies打包依赖,bundledDependencies是一个包含依赖包名的数组对象,在发布时会将这个对象中的包打包到最终的发布包里,数组里面的包必须先在devDependenciesdependencies声明过,否则打包会报错package.json中需要注意的包版本问题通过npm下载的所有包的版本信息都会记录在package.json中在运行npm i时就会根据package.json中记录的包信息进行下载,它的下载规则如下:包版本以^开头时(默认情况),会锁定大版本通过npm i将会安装md5 2.x.x的最新版本(2大版本下的最新版本),并不一定是2.1.0,还可能是2.3.0包版本以~开头时,会锁定到第二个大版本通过npm i将会安装md5 2.1.x的最新版本(2.1版本下的最新版本),并不一定是2.1.0,还可能是2.1.1包版本为*,会锁定到最新版本通过npm i将会安装md5的最新版本包版本前不带前缀,会锁定到指定版本通过npm i将会安装md5的2.1.0版本解决npm速度慢的问题因为npm仓库在国外,我们在国内使用npm指令下载这个国外仓库的内容速度会比较慢这时我们就可以运行以下指令将npm的仓库源切换到国内的淘宝镜像(cnpm) 的源:使用npm config get registry查看当前源:往后再使用npm时就会自动从国内的淘宝镜像仓库下载了,速度就会很快淘宝镜像之前的源地址为http://registry.npm.taobao.org,现在更改为了http://registry.npmmirror.com,但我们这样通过修改npm的配置进行源的切换难免会有点麻烦,我们可以全局安装一个nrm来帮助我们快速的切换npm使用nrm快速切换npm源全局安装nrm:执行nrm ls查看可切换的npm源:使用npm use 切换源,如切换到淘宝源:nrm use taobao使用nrm test 源名测试相应源的响应时间:可以看到淘宝源的响应速度要比npm的默认源快很多中国npm镜像:cnpmcnpm是一个完整的npmjs.org镜像,可以用它代替官方版本cnpm与官方版本的同步频率为10分钟一次,cnpm官网下载cnpmcnpm就是淘宝镜像,上面我们使用淘宝镜像只是将npm的源更改为淘宝镜像(cnpm)的源(这个源其实就是指仓库的地址),之后还是通过npm指令进行使用而这里是直接下载cnpm这个完整镜像,之后就可以使用cnpm指令而不是npm指令:cnpm的指令与npm的指令完全相同,使用时直接使用cnpm代替npm就行yarn是Facebook发布的一款依赖管理工具,它比npm更快、更高效安装:更新yarn:优点速度超快
yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快超级安全
在执行代码之前,yarn 会通过算法校验每个安装包的完整性yarn常用指令yarn init:初始化项目,生成package.json文件,生成步骤与npm init大致相同yarn help:显示命令列表yarn install:下载package.json中记录的所有资源,可简写为yarnyarn add 包名下载指定的包到当前目录下yarn remove 包名卸载当前目录下指定的包yarn upgrade 包名更新当前目录下指定的包,包名后可加@指定版本号来指定需要更新到的版本yarn指令后缀--dev:指定开发环境下的依赖(devDependencies),简写为-D--peer:指定核心依赖peerDependencies--optional:指定可选依赖optionalDependencies)关于“Node包管理器npm和yarn怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注云技术行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: node.js怎么构建web服务器

这篇文章主要介绍“node.js怎么构建web服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node.js怎么构建web服务器”文章能帮助大家解决问题。 先介绍node.js的安装,再介绍使用node.js构建一…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

登录

找回密码

注册