前端包管理工具 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

相关文章
|
30天前
|
前端开发 Java 开发工具
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
76 18
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
|
2月前
|
存储 资源调度 JavaScript
一文带你了解PNPM以及 npm,yarn,pnpm区别
一文带你了解PNPM以及 npm,yarn,pnpm区别
111 9
|
4月前
|
缓存 资源调度 JavaScript
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解
144 0
|
4月前
|
资源调度 前端开发 安全
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
前端实战:基于Verdaccio搭建私有npm仓库,轻松上传与下载自定义npm插件包
225 0
|
6月前
|
前端开发 JavaScript 开发者
|
7月前
|
缓存 前端开发 JavaScript
前端优化之路:打包文件拆包、增加哈希值
前面对项目打包做了优化处理,但是还不够完美,有两点可继续优化。
|
8月前
|
资源调度
npm yarn 启动报错【已解决】
npm yarn 启动报错【已解决】
82 2
|
7月前
|
前端开发 JavaScript
前端 JS 经典:Vite 分包配置
前端 JS 经典:Vite 分包配置
186 0
|
8月前
|
存储 缓存 资源调度
npm、yarn与pnpm详解
npm、yarn与pnpm详解
177 0
|
5月前
|
资源调度 分布式计算 Hadoop
YARN(Hadoop操作系统)的架构
本文详细解释了YARN(Hadoop操作系统)的架构,包括其主要组件如ResourceManager、NodeManager和ApplicationMaster的作用以及它们如何协同工作来管理Hadoop集群中的资源和调度作业。
204 3
YARN(Hadoop操作系统)的架构

热门文章

最新文章

  • 1
    【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 4
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 5
    详解智能编码在前端研发的创新应用
  • 6
    巧用通义灵码,提升前端研发效率
  • 7
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 8
    智能编码在前端研发的创新应用
  • 9
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 10
    抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
  • 推荐镜像

    更多