yarn:
yarn是由Facebook(react)、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具;
yarn 是为了弥补早期npm 的一些缺陷而出现的;
早期的npm存在很多的缺陷,比如安装依赖速度很慢、版本依赖混乱等等一系列的问题;
虽然从npm5版本开始,进行了很多的升级和改进,但是依然很多人喜欢使用yarn;
-g安装后,进行全局的环境配置,Windows的终端也可以使用
添加脚本:yarn/npm run build
c(china)npm
◼ 由于一些特殊的原因,某些情况下我们没办法很好的从 https://registry.npmjs.org下载下来一些需要的包。
◼ 查看npm镜像:
npm config get registry # npm config get registry
◼ 我们可以直接设置npm的镜像:
npm config set registry https://registry.npm.taobao.org
◼ 但是对于大多数人来说,并不希望将npm镜像修改了:
第一,不太希望随意修改npm原本从官方下来包的渠道;
第二,担心某天淘宝的镜像挂了或者不维护了,又要改来改去;
◼ 这个时候,我们可以使用cnpm,并且将cnpm设置为淘宝的镜像:
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm config get registry # https://r.npm.taobao.org/
npm
◼ npx是npm5.2之后自带的一个命令。
npx的作用非常多,但是比较常见的是使用它来调用项目中的某个模块的指令。
◼ 我们以webpack为例:
全局安装的是webpack5.1.3
项目安装的是webpack3.6.0
◼ 在终端执行 webpack --version使用的是哪一个命令呢?
显示结果会是 webpack 5.1.3,事实上使用的是全局的,为什么呢?
原因非常简单,在当前目录下找不到webpack时,就会去全局找,并且执行命令;
◼ 那么如何使用项目(局部)的webpack,常见的是两种方式:
方式一:明确查找到node_module下面的webpack
./node_modules/.bin/webpack --version
方式二:在 scripts定义脚本,来执行webpack;
◼ 方式一:在终端中使用如下命令(在项目根目录下)
◼ 方式二:修改package.json中的scripts
"scripts": {
"webpack": "webpack --version"
}
◼ 方式三:使用npx
npx webpack --version
◼ npx的原理非常简单,它会到当前目录的node_modules/.bin目录下查找对应的命令;
局部命令的执行
pnpm
◼ 当使用 npm 或 Yarn 时,如果你有 100 个项目,并且所有项目都有一个相同的依赖包,那么, 你在硬盘上就需要保存 100 份该相同依赖包的副本。
◼ 如果是使用 pnpm,依赖包将被 存放在一个统一的位置,因此:
如果你对同一依赖包使用相同的版本,那么磁盘上只有这个依赖包的一份文件;
如果你对同一依赖包需要使用不同的版本,则仅有 版本之间不同的文件会被存储起来;
所有文件都保存在硬盘上的统一的位置:
✓ 当安装软件包时, 其包含的所有文件都会硬链接到此位置,而不会占用 额外的硬盘空间;
✓ 这让你可以在项目之间方便地共享相同版本的 依赖包;
◼ 当使用 npm 或 Yarn Classic 安装依赖包时,所有软件包都将被提升到 node_modules 的 根目录下。
其结果是,源码可以访问本不属于当前项目所设定的依赖包,可能访问依赖项的依赖项
pnpm创建非扁平的 node_modules 目录
文章来源:https://www.toymoban.com/news/detail-557557.html
文章来源地址https://www.toymoban.com/news/detail-557557.html
到了这里,关于包管理工具:npm、yarn、cnpm、npx、pnpm的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!