技术刊集

包管理工具npm、yarn、cnpm、npx

2022-05-22  本文已影响0人  咸鱼不咸_123

一、npm

1、代码共享方案

我们已经学习了在js中通过模块化的方式将代码划分成一个个小的结构。

如果我们分享给世界上所有的程序员使用,有哪些方式呢?

显然,上面的方式是有效的,但是这种传统的方式非常麻烦,并且容易出错。

2.包管理工具 npm

nvm是专门给windows来使用的。

查看npm的版本:npm --version

npm在一个项目中会管理很多包,会有一个配置文件 package.json文件,这个文件会记录依赖包的名称、版本

3.npm的配置文件

3.1 常见的配置文件

3.2 常见的属性

【在源代码用到的库,都需要安装到dependencies属性中】。

4.依赖的版本管理

我们会发现安装的依赖版本出现:^2.0.3或~2.0.3,这是什么意思呢?

npm的包通常需要遵从semver版本规范:

semver版本规范是X.Y.Z

我们这里解释一下 ^和~的区别:

image-20220521220657334.png

例如上面:最后安装vue的版本不一定就是3.2.35,一般X保持不变,Y和Z永远安装最新的

package-lock.json文件就是记录真实安装的版本号

image-20220521221059883.png

当我们将项目的node_modules文件夹删掉,在命令行终端 运行 npm install

4.1 常见属性

5.npm install命令

安装npm包分为两种情况:

全局安装

但是很多人对全局安装有一些误会:

在源代码用到的包,都是需要进行局部安装的。全局安装的包并不会用在源代码中,只是作为一个工具来使用的。

例如:有时候在项目会进行webpack的局部安装,有时候在全局安装webpack,这有什么区别呢?

6.项目安装

7. npm install原理

npm install的原理图-16531956628141.png

7.1 npm install 原理图解析

8.package-json文件的解析

9. npm 其他命令

10.发布自己的包

更新仓库:

删除发布的包:

让发布的包过期:

二、yarn工具

npm yarn
npm install yarn install
npm install [package] yarn add [package]
npm install --save [package] yarn add [package]
npm install --save-dev [package] yarn add [package] [--dev/-D]
npm rebuild yarn install --force
npm uninstall [package] yarn remove [package]
npm uninstall --save [package] yarn remove [package]
npm uninstall --save-dev [package] yarn remove [package]
npm uninstall --save-optional [package] yarn remove [package]
npm cache clean yarn cache clean
rm -rf node_modules && npm install yarn upgrade

yarn和npm不能混用

三、cnpm工具

由于一些特殊的原因,某些情况下我们没办法很好的从https://registry.npm.org下载下来一些需要的包。

直接修改npm的镜像是不太合适的,因为国内的有时候并不是实时更新的,国外的镜像是实时更新的。

所以可以平常使用cnpm 来下载对应的包,如果因为某些原因下载不下来,可以改变cnpm的镜像,而不用改官方的npm的镜像

cnpm和npm的使用方法是一样的。

四、npx工具

安装node的时候,会自动安装npx和npm

如果在全局也安装了webpack@ 5.72.1,局部也安装了 webpack@3.6.0

如果当前项目中输入 webpack --version

如果想使用局部的webpack命令怎么做呢?

五、总结

包管理工具.png
上一篇 下一篇

猜你喜欢

热点阅读