npm cnpm yarn 和 npx的区别

NPM

npm 是一个node package installer commander tool。

在安装了node.js环境下可以通过npm i xxx 来安装你需要的node package到本地或者全局。

npm i webpack -G //全局安装,路径为 /usr/local/bin

npm i webpack -S -D //本地安装, 安装路径为 ./node-modules/.bin/
总结:npm是一个node package安装工具。

NPX

npx会在安装npm的时候一起安装到本地。npx有两个应用场景:

在没有安装package的情况下可以使用npx来运行,例如:
npx react-create-app init
// 会使用npm registry里面的react-create-app创建一个react app在本地,如果用npm的话需要先install
在没有全局安装某个package的情况下使用该包:
npx webpack-dev-server --config webpack.dev.js
// 在没有全局安装webpack-dev-server 的时候,直接在命令行运行该包的命令是找不到的,会提示:
bash: webpack-dev-server: command not find
总结:npx的作用是先检查本地有没有安装某个package,如果没有去远程registry找,找到的话直接使用,不用下载到本地node-modules包里面,这样就能优化本地项目的大小,也可以避免安装package到全局。


<1>从功能上分: 所有的都是为了安装依赖(js代码库)

<2>从结果上分:

npm\cnpm\yarn 都会把依赖下载到node_modules中(本地开发环境)

npx会先检测本地node_modules中是否有相关依赖,有则直接调用他的命令行,没有的话回去上一级的node_modlues中寻找,直到找到系统的node_mudules中,如果还是没有找到,则会通过网络将相关依赖下载到电脑内存中,执行完相关代码,就会马上删除内存中的依赖

<3>从创造它的目的上说: npm\cnpm\yarn是为了项目开发

扫描二维码关注公众号,回复: 11534742 查看本文章

而npx是为了在不侵入源代码的基础上,使用node_modules中的依赖的命令行工具

npm cnpm yarn 的区别
<1>从开发者上看:

npm: [node官方/npm官方]出的node packages manager(npm的缩写) node包管理器

优点:官方维护的,包的镜像是官方提供,最可靠
缺点:

<1>官网在国外,很多包有可能因为网络原因下载不下来,其他的下载速度很慢

<2>它无法锁定包

cnpm: 阿里巴巴出的,为了解决下载速度慢的问题 chinese node packages manager(cnpm的缩写)

<3>yarn facebook出的[安装速度快,可以锁定住包的最小版本]

猜你喜欢

转载自blog.csdn.net/weixin_40599109/article/details/107168818