前端包管理工具 npm yarn cnpm npx(三)

简介: 前端包管理工具 npm yarn cnpm npx

yarn

早期的npm 安装依赖速度慢,依赖管理混乱,所以提出了yarn yarn通过缓存和生产package.json 文件这些方式来加快安装速度,依赖管理清晰。 在npm5之后,npm 也借鉴了yarn的思想,现在两个已经性能相当

所以当有人问起yarn 和npm 的区别时,就可以说上面的话术,展开说说缓存策略和依赖管理方式。 为了降低学习成本,所以两者命令上区别不大,


cnpm

概述


很多时候,我们下载一些依赖包的时候,从地址registry.npmjs.org 拉取用资源,会安装失败 所以淘宝维护了一套淘宝源的镜像仓库,定时从registry.npmjs.org 去拉取最新包,便于国内开发下载


常用指令


查看npm镜像:

npm config get registry  

我们可以直接设置npm的镜像

 npm config set registry https://registry.npm.taobao.org

当我们想和原来的npm 区分开时,也不想修改原有npm源时,建议使用cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org 
cnpm config get registry

返回 r.npm.taobao.org/ 则安装成功

npx工具

概述


npx是npm5.2之后自带的一个命令,一般用于它来调用项目中的某个模块


问题产生


我们以webpack为例: 全局安装的是webpack5 项目安装的是webpack3 如果我在终端执行 webpack --version使用的是哪一个命令呢?

显示结果会是 webpack5,事实上使用的是全局的,为什么呢?

1686824078472.jpg

原因非常简单,在当前目录下找不到webpack时,就会去全局找,并且执行命令;

那么我想使用 局部的webpack版本,该怎么办呢


解决方案


  • 方式一:在终端中使用如下命令(在项目根目录下) ./node_modules/.bin/webpack --version
  • 方式二:修改package.json中的scripts
   "scripts": {
      "webpack": "webpack --version"
  • 方式三:使用npx npx webpack --version npx的原理非常简单,它会到当前目录的node_modules/.bin目录下查找对应的命令;


npm发布自己的包

  • 注册npm账号:
  • 在命令行登录: npm login
  • 修改package.json
  • 发布到npm registry上 :npm publish
  • 更新仓库:
  • 修改版本号(最好符合semver规范)
  • 重新发布
  • 删除发布的包: npm unpublish
  • 让发布的包过期: npm deprecate

总结

以npm为切入点,展开说了npm 的属性和原理,方便大家理解,也简单介绍了其他包管理工具和npm 比较相似的一些指令,希望能对大家有所帮助。

现在前端最火的应该是pnpm,我在下篇文章会和大家分享,敬请期待

1686824172209.jpg

相关文章
|
9月前
|
存储 资源调度 JavaScript
一文带你了解PNPM以及 npm,yarn,pnpm区别
一文带你了解PNPM以及 npm,yarn,pnpm区别
632 9
|
11月前
|
JavaScript 前端开发 Java
npm学习一:npm 包管理工具 学习、使用。
这篇文章是关于npm包管理工具的学习、使用指南,包括npm概述、基础命令和如何安装webpack。
305 3
npm学习一:npm 包管理工具 学习、使用。
|
11月前
|
缓存 JavaScript 前端开发
拿下奇怪的前端报错(三):npm install卡住了一个钟- 从原理搞定安装的全链路问题
本文详细分析了 `npm install` 过程中可能出现的卡顿问题及解决方法,包括网络问题、Node.js 版本不兼容、缓存问题、权限问题、包冲突、过时的 npm 版本、系统资源不足和脚本问题等,并提供了相应的解决策略。同时,还介绍了开启全部日志、使用替代工具和使用 Docker 提供 Node 环境等其他处理方法。
7774 1
|
11月前
|
缓存 前端开发 JavaScript
前端架构思考:代码复用带来的隐形耦合,可能让大模型造轮子是更好的选择-从 CDN 依赖包被删导致个站打不开到数年前因11 行代码导致上千项目崩溃谈谈npm黑洞 - 统计下你的项目有多少个依赖吧!
最近,我的个人网站因免费CDN上的Vue.js包路径变更导致无法访问,引发了我对前端依赖管理的深刻反思。文章探讨了NPM依赖陷阱、开源库所有权与维护压力、NPM生态问题,并提出减少不必要的依赖、重视模块设计等建议,以提升前端项目的稳定性和可控性。通过“left_pad”事件及个人经历,强调了依赖管理的重要性和让大模型代替人造轮子的潜在收益
179 0
|
11月前
|
前端开发 JavaScript 开发工具
从零开始:构建、打包并上传个人前端组件库至私有npm仓库的完整指南
从零开始:构建、打包并上传个人前端组件库至私有npm仓库的完整指南
1808 0
|
11月前
|
缓存 资源调度 JavaScript
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
736 0
|
11月前
|
资源调度 前端开发 安全
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
758 0
包管理工具——npm实用教程 (修改下载源,安装依赖 -D -S -g ,卸载依赖等)
包管理工具——npm实用教程 (修改下载源,安装依赖 -D -S -g ,卸载依赖等)
320 0
|
存储 缓存 资源调度
npm、yarn与pnpm详解
npm、yarn与pnpm详解
356 0

热门文章

最新文章

推荐镜像

更多
  • NPM