yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的

技术很久不用,就变得生疏起来。对npm深受其害,决定对yarn再整理一遍。

yarn包管理器

  • 介绍
  • 安装yarn
  • 帮助信息
  • 最常用命令

介绍

yarn官网:https://yarn.bootcss.com,学任何技术的最新知识,都可以通过其对应的网站了解。无法直接访问,那就只能科学上网了。

yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第1张图片

安装yarn

–global 或 -g选项很重要,表示全局安装,后期本机各个项目都得用这个包管理器

# 安装命令
npm install --global yarn

帮助信息

不管在哪个操作系统(Linux、Windows、Mac还是其它),一般都是可以应用命令 -h或者命令 --help获得命令的帮助信息。

F:\yarn>yarn -h

  Usage: yarn [command] [flags]

  Displays help information.

  Options:

    --cache-folder <path>               specify a custom folder that must be used to store the yarn cache
    --check-files                       install will verify file tree of packages for consistency
    --cwd <cwd>                         working directory to use (default: F:\yarn)
    --disable-pnp                       disable the Plug'n'Play installation
    --emoji [bool]                      enable emoji in output (default: false)
    --enable-pnp, --pnp                 enable the Plug'n'Play installation
    --flat                              only allow one version of a package
    --focus                             Focus on a single workspace by installing remote copies of its sibling workspaces.
    --force                             install and build packages even if they were built before, overwrite lockfile
    --frozen-lockfile                   don't generate a lockfile and fail if an update is needed
    --global-folder               specify a custom folder to store global packages
    --har                               save HAR output of network traffic
    --https-proxy 
    --ignore-engines                    ignore engines check
    --ignore-optional                   ignore optional dependencies
    --ignore-platform                   ignore platform checks
    --ignore-scripts                    don't run lifecycle scripts
    --json                              format Yarn log messages as lines of JSON (see jsonlines.org)
    --link-duplicates                   create hardlinks to the repeated modules in node_modules
    --link-folder <path>                specify a custom folder to store global links
    --modules-folder <path>             rather than installing modules into the node_modules folder relative to the cwd, output them here
    --mutex <type>[:specifier]          use a mutex to ensure only one yarn instance is executing
    --network-concurrency <number>      maximum number of concurrent network requests
    --network-timeout <milliseconds>    TCP timeout for network requests
    --no-bin-links                      don't generate bin links when setting up packages
    --no-default-rc                     prevent Yarn from automatically detecting yarnrc and npmrc files
    --no-lockfile                       don't read or generate a lockfile
    --non-interactive                   do not show interactive prompts
    --no-node-version-check             do not warn when using a potentially unsupported Node version
    --no-progress                       disable progress bar
    --offline                           trigger an error if any required dependencies are not available in local cache
    --otp <otpcode>                     one-time password for two factor authentication
    --prefer-offline                    use network only if dependencies are not available in local cache
    --preferred-cache-folder <path>     specify a custom folder to store the yarn cache if possible
    --prod, --production [prod]
    --proxy <host>
    --pure-lockfile                     don't generate a lockfile
    --registry <url>                    override configuration registry
    -s, --silent                        skip Yarn console logs, other types of logs (script output) will be printed
    --scripts-prepend-node-path [bool]  prepend the node executable dir to the PATH in scripts
    --skip-integrity-check              run install without checking if node_modules is installed
    --strict-semver
    --update-checksums                  update package checksums from current repository
    --use-yarnrc <path>                 specifies a yarnrc file that Yarn should use (.yarnrc only, not .npmrc) (default: )
    -v, --version                       output the version number
    --verbose                           output verbose messages on internal operations
    -h, --help                          output usage information
  Commands:
    - access
    - add
    - audit
    - autoclean
    - bin
    - cache
    - check
    - config
    - create
    - exec
    - generate-lock-entry / generateLockEntry
    - global
    - help
    - import
    - info
    - init
    - install
    - licenses
    - link
    - list
    - login
    - logout
    - node
    - outdated
    - owner
    - pack
    - policies
    - publish
    - remove
    - run
    - tag
    - team
    - unlink
    - unplug
    - upgrade
    - upgrade-interactive / upgradeInteractive
    - version
    - versions
    - why
    - workspace
    - workspaces

  Run `yarn help COMMAND` for more information on specific commands.
  Visit https://yarnpkg.com/en/docs/cli/ to learn more about Yarn.

通过帮助信息,一般可以了解该工具有哪些命令,哪些选项了。

最常用命令

1、初始化一个新项目

yarn init

一般会生成一个package.json文件,默认情况下,文件如下:

{
  "name": "yarn",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}

yarn使用package.json文件来标识每个包,其含义看配置文档。
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第2张图片

2、安装所有依赖项

yarn
yarn install

会多出来一个node_modules目录(用来存在后期安装的依赖文件)和yarn.lock文件。yarn.lock文件是用来固化依赖,提交代码时,也应该一同提交。
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第3张图片
3、添加依赖项
一次性也可以添加多个依赖项

yarn add [package]
yarn add [package1] [package2] [package3]
yarn add [package]@[version]
yarn add [package]@[tag]

不指定版本,一般安装的是最新版本,以安装jquery模块为例
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第4张图片
安装好以后,node_modules和package.json都有体现
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第5张图片
可以去https://www.npmjs.com/搜索查询jquery,查看可用历史版本
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第6张图片
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第7张图片
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第8张图片
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第9张图片

注意:一个项目相同模块,只会存在一个。例如jquery3.7.1和jquery3.5.0在一个项目不可能同时存在。

添加不同类型依赖项

  • dependencies,普通依赖项,运行项目时需要用到的依赖。不管是在开发还是生产都需要用得到,比如jquery

    # 普通依赖项用--save
    yarn add jquery --save
    
  • devDependencies,开发依赖项。开发时使用到的依赖,生产不需要,如Babel(ES6转ES5)

    # 开发依赖项,--save-dev
    yarn add jquery --save-dev
    
  • peerDependencies,对等依赖,发布依赖包时使用。

  • optionalDependencies,可选依赖。可选的依赖包,如果此包安装失败,Yarn依然会提示安装进程成功。

  • bundledDependencies,要打包的依赖/捆绑依赖。

4、删除依赖项

yarn remove [package] 

yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第10张图片
yarn包管理器在添加、更新、删除模块时,在项目中是如何体现的_第11张图片

小结:

这个博客主要记录测试添加、更新、删除依赖项,依赖项的操作在项目中的变化和体现,yarn包管理器其它操作同npm。

你可能感兴趣的:(前端,yarn,前端)