当前位置:网站首页>npm和yarn
npm和yarn
2022-06-09 21:21:00 【盖丽男】
背景
最近除了后端,前端的一些东西也需要自己来写,然后之前的项目好多是vue和react的,都用到了npm,一直没搞明白npm到底咋用,所以研究一下。
而npm和yarn都属于包管理器,所以一起对比一下。
需要注意的是:npm 和 Yarn 都是通过 package.json 记录项目需要拉取的依赖模块
npm
npm是什么
npm(“Node 包管理器”)是 JavaScript 运行时 Node.js 的默认程序包管理器。
它也被称为“Ninja Pumpkin Mutants”,“Nonprofit Pizza Makers”,以及许多其他随机名称,你可以在 npm-expansions 上探索这些名称。
npm 由两个主要部分组成:
用于发布和下载程序包的 CLI(命令行界面)工具
托管 JavaScript 程序包的 在线存储库
怎么用
可以直接从网页搜索自己需要的包:npm官网
但是大部分时间,我们肯定是使用命令行来使用npm的。比如下面列举的几个常用命令:
# 查看 npm 的版本
$ npm -v
# 查看各个命令的简单用法
$ npm -l
# 查看 npm 命令列表
$ npm help
# 查看 npm 的配置
$ npm config list -l
# 用于搜索npm仓库,它后面可以跟字符串,也可以跟正则表达式。
$ npm search <搜索词> [-g]
# 安装带有 ^ 版本号的软件包的最新版本
$ npm install <package-name>
# 卸载软件包
$ npm uninstall <package-name>
# 发布自己的软件包
$ npm publish
# 创建一个新的package.json
$ npm init
# 运行package.json的命令
$ npm run
yarn
yarn是什么
Yarn 对你的代码来说是一个软件包管理器, 你可以通过它使用全世界开发者的代码,或者分享自己的代码给全世界的开发者。Yarn 做这些事情快捷、安全、可靠,所以你不用担心什么。
通过 Yarn 你可以使用其他开发者针对不同问题的解决方案,简化你开发软件的过程。 如果使用过程中遇到问题,你可以将其上报或者贡献解决方案。一旦问题被修复, 你可以使用 Yarn 更新。
代码通过 软件包(package) 的方式被共享。一个软件包里包含了所有需要共享的代码,以及一个描述软件包信息的文件 package.json (叫做 清单)。
怎么用
yarn使用的其实也是npm的包,而且yarn其实也通过npm安装
npm install -g yarn
看一下常用命令:
#初始化
$ yarn init
#安装所有依赖项
$ yarn install
#安装指定依赖项
$ yarn add [package]
#删除依赖项
$ yarn remove [package]
讨论
2010年npm 发布并支持 nodejs,Yarn 包管理器是 npm 的替代品,由 Facebook 于 2016 年 10 月发布。 Yarn 的最初目标是处理 npm 的缺点,例如性能和安全问题。Yarn 很快被定位为安全、快速、可靠的 JavaScript 依赖管理工具。
但是 npm 团队吸取了教训,并通过实现缺失的功能迅速填补了 npm 的空白。
所以对于我们来说,可以按照喜好来选择yarn或者npm,不过基于npm一般会随着nodejs一起安装,所以npm更方便一些。
引用
边栏推荐
- Audio 3A processing practice makes your application more "pleasant"
- What are the advantages of realizing enterprise digital transformation with odoo?
- 易买网开发 趣买买 项目资源一览 0605
- Comprendre le go des modules go. MOD et go. SUM
- 如何定比特到服務器CPU飆高的原因
- paddleNLP-BUG和一些细节记录【一】
- Deeply understand the leftmost prefix principle of Federated indexes
- Oracle paging
- spider pi 智能视觉六足机器人 开机介绍 0602
- Daily 2 Trivia^_^
猜你喜欢

What are the advantages of realizing enterprise digital transformation with odoo?

Database daily question - day 7: customers with the most orders

FPN-Feature Pyramid Network

spider pi 智能视觉六足机器人 直连模式下进行试玩 0603

TL, how do you manage project risks?

Basic use of WinForm programming control treeview tree view 20220527
Database SQL and Gorm practice of design pattern | notes on youth training camp

spider pi 智能視覺六足機器人 vnc連接機器人 0603

spider pi 智能视觉六足机器人 开箱介绍 0602

spider pi 智能视觉六足机器人 颜色识别功能 0603
随机推荐
An RS485 serial interface current sensor snap on type mutual inductor supports Modbus communication protocol
chez scheme 环境搭建
【luogu P8330】众数(根号分治)
Spider PI intelligent vision hexapod robot in direct connection mode 0603
Paddlenlp general information extraction technology UIE [i] industrial application examples: information extraction {entity relationship extraction, Chinese word segmentation, accurate entity markers,
spider pi 智能视觉六足机器人 巡路功能 0603
TL, how do you manage project risks?
Huawei cloud zero code development image compression tool
List of resources of yimai.com development interest buying project 0605
First encounter with Kunpeng code migration tool
What is wave field TRX wallet development
Daily 2 Trivia^_^
Design of spectrum analyzer based on nexys3 VHDL board
How to make our self built site have a custom domain name (1)
蓝牙协议分析(7)_BLE连接有关的技术分析
Scratch Programming flying birds Development Notes 0604
Yolo series target detection post-processing - non maximum suppression
深入理解 Go Modules 的 go.mod 與 go.sum
怎么查期货平台是不是安全的?正规性怎么查
spider pi 智能视觉六足机器人 开机介绍 0602