• 技术文章 >web前端 >js教程

    一文浅析JS包管理工具:yarn

    青灯夜游青灯夜游2022-08-09 15:51:48转载92
    yarn 和 npm 一样也是 JavaScript 包管理工具,下面本篇文章就来带大家了解一下yarn包管理工具,希望对大家有所帮助!

    1. yarn简介

    Yarnfacebook 发布的一款取代 npm 的包管理工具

    2. yarn安装与更新

    2-1 全局安装

    通过 npm install -g 全局去安装 yarn 包管理工具,默认安装的版本是 yarn 1 版本

    # 全局安装
    npm install -g yarn
    
    # 查看yran安装版本
    yarn --version
    
    # 显示命令列表
    yarn help

    2-2 项目安装

    在项目中需要使用 yarn 2,可以在项目更目录安装333

    “Berry” 是 Yarn 2 发布序列的代号,同时也是我们的 代码仓库 的名称!

    yarn set version berry

    2-3 yarn更新

    yarn 更新到最新版本,yarn 会从我们的网站下载最新的二进制文件,并将其安装在您的项目中

    将项目中的包管理工具升级为 Yarn 2,此后如果需要对此 Yarn 2 进行升级,则可以使用 yarn set version latest 进行升级,否则仍是对 Yarn 1 进行操作

    yarn set version latest

    2-4 安装maste分支最新版

    尝试最新的 master 代码分支

    yarn set version from sources

    可以使用 --branch 参数来指定要安装特定的分支节点

    yarn set version from sources --branch 1211

    3. 镜像管理

    3-1 安装淘宝镜像

    修改国内镜像后可以加快软件包安装速度

    查看当前使用的镜像

    yarn config get registry

    添加 yarn 的淘宝镜像

    yarn config set registry https://registry.npm.taobao.org -g
    
    # 恢复默认
    yarn config set registry http://registry.npmjs.org/
    
    # 安装sass
    yarn config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/

    3-2 yrm镜像管理

    yrm 是管理镜像的工具,可以列出可以使用的镜像,非常方便

    安装 yrm

    npm install -g yrm

    列出可以使用的镜像

    yrm ls

    使用淘宝镜像

    yrm use taobao

    测试镜像速度

    yrm test taobao

    4. yarn使用

    4-1 初始化项目

    yarn init 用来初始化生成一个新的 package.json 文件

    D:\My Study\08-Node.js\02-yarn>yarn init
    yarn init v1.22.19
    question name (02-yarn): yarn-init
    question version (1.0.0):
    question description: 初始化配置
    question entry point (index.js):
    question repository url:
    question author (jsx <2738389567@qq.com> (https://github.com/xiaofeilalala)):
    question license (MIT):
    question private:
    success Saved package.json
    Done in 29.32s.
    {
      "name": "yarn-init",
      "version": "1.0.0",
      "description": "初始化配置",
      "main": "index.js",
      "author": "jsx <2738389567@qq.com> (https://github.com/xiaofeilalala)",
      "license": "MIT"
    }

    4-2 设置配置项

    通过 yarn config 去设置显示删除配置项

    yarn config list // 显示所有配置项
    yarn config get <key> //显示某配置项
    yarn config delete <key> //删除某配置项
    yarn config set <key> <value> [-g|--global] //设置配置项

    4-3 安装依赖

    安装所有依赖

    yarn install

    强制重新下载所有包

    yarn install --force

    添加依赖项,会自动更新到 package.jsonyarn.lock 文件中

    # 安装最新版本
    yarn add [packageName] 
    
    # 安装指定版本
    yarn add [packageName]@<version>
    
    # 安装指定tag版本 beta,next或者latest
    yarn add [packageName]@<tag>

    安装包的精确版本,例如: yarn add foo@1.2.3 会接受 1.9.1 版本,但是 yarn add foo@1.2.3 --exact 只能安装指定 1.2.3 版本

     yarn add [packageName]@<version> --exact
     yarn add [packageName]@<version> -E

    安装包的次要版本里的最新版,例如:yarn add foo@1.2.3 --title 会接受 1.2.9,但不接受 1.3.0

    yarn add [packageName]@<version> --title
    yarn add [packageName]@<version> -T

    4-4 不同依赖类

    在一个 Node.js 项目中,package.json 几乎是一个必须的文件,它的主要作用就是管理项目中所使用到的外部依赖包,同时它也是 npm 命令的入口文件

    npm 目前支持以下几类依赖包管理:

    dependencies

    应用依赖,或者叫做业务依赖,这是我们最常用的依赖包管理对象!它用于指定应用依赖的外部包,这些依赖是应用发布后正常执行时所需要的,但不包含测试时或者本地打包时所使用的包。

    devDependencies

    开发环境依赖,仅次于 dependencies 的使用频率!它的对象定义和 dependencies 一样,只不过它里面的包只用于开发环境,不用于生产环境,这些包通常是单元测试或者打包工具等,例如gulp, grunt, webpack, moca, coffee

    peerDependencies

    同等依赖,或者叫同伴依赖,用于指定当前包(也就是你写的包)兼容的宿主版本。如何理解呢? 试想一下,我们编写一个 gulp 的插件,而 gulp 却有多个主版本,我们只想兼容最新的版本,此时就可以用同等依赖(peerDependencies)来指定

    optionalDependencies

    可选依赖,如果有一些依赖包即使安装失败,项目仍然能够运行或者希望npm继续运行,就可以使用 optionalDependencies。另外optionalDependencies 会覆盖 dependencies 中的同名依赖包,所以不要在两个地方都写

    bundledDependencies / bundleDependencies

    打包依赖,bundledDependencies 是一个包含依赖包名的数组对象,在发布时会将这个对象中的包打包到最终的发布包里

    不指定依赖类型默认安装到 dependencies 里,你也可以指定依赖类型

    # 添加到 devDependencies 依赖项
    yarn add [package]@[version] --dev
    yarn add [package]@[version] -D
    
    # 添加到 peerDependencies 依赖项
    yarn add [package]@[version] --peer
    yarn add [package]@[version] -P
    
    # 添加到 optionalDependencies 依赖项
    yarn add [package]@[version] --optional
    yarn add [package]@[version] -O

    4-5 升级依赖

    根据需要将安装好的依赖包进行升级

    # 更新所有软件包
    yarn up
    
    # 升级到最新版本
    yarn up [packageName]
    
    # 升级到指定版本
    yarn up [packageName]@[version]
    
    # 升级到指定tag版本
    yarn up [packageName]@[tag]

    4-6 删除依赖

    从项目中删除依赖项 dependencies,会自动更新 package.jsonyarn.lock

    yarn remove [packageName]

    删除 yarn 全局软件包

    yarn remove -g [packageName]

    4-7 发布模块

    yarn publish 用于将当前模块发布到 http://npmjs.com

    如果已经注册过,就使用下面的命令登录

    yarn login

    退出登录 npm 仓库

    yarn logout

    登录以后,就可以使用 npm publish 命令发布

    yarn publish

    撤销发布的模块 npm unpublish

    # 删除某个版本
    yarn unpublish [packageName]@<version>  
    # 删除整个npm市场的包
    yarn unpublish [packageName] --force

    4-8 运行命令

    yarn run 用来执行在 package.jsonscripts 属性下定义的脚本

    // package.json
    {
      "scripts": {
      "dev": "node app.js",
      "start": "node app.js"
      }
    }

    yarnnpm 一样 可以有 yarn startyarn test 两个简写的运行脚本方式

    # yarn 执行 dev 对应的脚本 node app.js
    yarn run dev 
    npm run
    
    yarn start # yarn
    npm start # npm

    4-9 缓存控制

    列出已缓存的每个包

    yarn cache list

    全局缓存位置

    yarn cache dir

    清除缓存

    yarn cache clean

    4-10 模块信息

    yarn info 可以用来查看某个模块的最新版本信息

    yarn info [packageName] # yarn 
    npm info [packageName] # npm
    
    yarn info [packageName] --json # 输出 json 格式
    npm info [packageName]  --json # npm
    
    yarn info [packageName] readme # 输出 README 部分
    npm info [packageName] readme

    更多编程相关知识,请访问:编程视频!!

    以上就是一文浅析JS包管理工具:yarn的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:yarn 包管理工具
    上一篇:实例解析ES6 Promise的原理和使用 下一篇:JavaScript包管理器比较:Npm vs Yarn vs Pnpm
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• yarn是什么?yarn是如何代替npm管理前端项目模块依赖的?• npm和yarn安装node-sass的问题解决方法介绍• 如何在CentOS和Fedora上安装Yarn• 解决包管理工具 NPM 和 yarn 下载安装超时的方法• 浅析Node.js包管理工具 npm 和 yarn 的用法
    1/1

    PHP中文网