最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 前端学习笔记(十一)-yarn学习

    正文概述 掘金(oyishyi)   2021-01-09   747

    好多主题有 bug。
    今天(指昨天凌晨)学习yarn。

    1. yarn 介绍

    yarn 是重新设计的 npm。甚至 yarn 的包也是发布在 npm 官网上的,即包都是通用的。
    毕竟 yarn 就是为了改善 npm 的一些缺点而出世的。

    3. yarn 安装

    官网下载安装即可。

    3. yarn 基本命令

    很多命令的作用和 npm 非常像,但是单词不一样。

    3.1 初始化

    1. yarn inityarn init -y 生成 package.json 和 npm 一模一样。不过默认是 MIT 认可证,并且默认生成内容要少一些。

    2. 也可以设置默认 init 生成的内容,和 npm 区别如下:

       yarn config set init-author-name oyishyi
       yarn config set init-author-email oyishyi@balabala.com
       yarn config set init-license MIT
      

      比起 npm, set 前多了个 config,init与属性之间用的是短杠 - 而不是点 .

    3.2 安装/添加包

    1. yarn 把安装包叫做添加包,install 换成 add,其他语法和 npm 一样。install 有别的用法。
    yarn add <packageName>@<version>
    
    1. 和 npm 一样,会自动加到 package.json 中的 dependencies 属性中。
    2. 如果要加到 devDependencies 中,后接 --dev 参数。
    3. yarn 还有两个可选的 dependencies 属性。peerDependenciesoptionalDependencies。具体说明见这里。
      各自的参数为 --peer--optional
    4. yarn 里的 install 用法为 yarn install(或者简写单独一个 yarn),根据 package.json 安装所有的依赖

    3.3 升级包

    npm 叫更新(update),yarn 叫升级(upgrade)。

    yarn upgrade <paclageName>
    yarn upgrade <packageName>@<version>
    

    如上所示,可以指定版本升级,甚至可以指定更低的版本,即可以降级
    查看是否需要更新也是用 outdated。

    yarn outdated
    

    3.4 删除包

    yarn remove <packageName>
    

    3.5 全局操作

    1. 非常不一样,全局命令不是加 - 前缀的参数,而是在 yarn 后加 global 命令,如下:
    yarn global add <packageName>
    
    1. 并且全局包安装位置和 npm 不一样,不是在 node.js 下的 node_modules,而是在一个犄角旮旯里:
      前端学习笔记(十一)-yarn学习

    2. 可以通过 yarn global dir 查看这个路径。如果在 vscode 里,查看路径后可以 ctrl+click 快速打开文件夹。

    3. 可以在安装的时候通过 --prefix 指定安装路径:

      yarn global add <packageName> --prefix ~/user/myGlobalPackage
      
    4. 可以通过 yarn config set 来设置 prefix,从而不再安装到犄角旮旯里。

    5. 如果 yarn global list 无法使用,这是 bug,等官方修复吧。反正全局安装本来也是不推荐的手段。

    5. 用 yarn 发布包

    可以用 yarn login 登录,但是不需要密码,等到需要密码的场合才会要求输入密码。
    yarn publish 的时候会让你输入新的版本号,所以不用先手动改版本号。
    其他操作一模一样,只是每次发布时需要输入密码。

    6. 从 npm 转到 yarn

    1. 如果是一个已经采用 npm 的项目。
      • 旧版本,在项目目录里直接运行 yarn 即可,会生成一个 yarn.lock 文件,有些时候用 npm 生成的 package.json 的版本依赖不明确,yarn 会遇到麻烦。因此需要先在 npm 里写明确一些再用 yarn。
      • yarn 的新版本支持 yarn import,会把 package-lock.json 转成 yarn.lock 文件。也避免了上面的情况。
    2. 之后 npm 和 yarn 互相用都可以,甚至可以部分人用 npm,部分人用 yarn,互不影响。因为两边的安装/删除包都会修改 package.json,因此也不用担心 lock 的修改不一致。因为两者都是先从 package.json 里找要安装哪些包,再从 lock 里找版本。
    3. yarn.lock 就是锁定版本,可以保证所有人同样版本。
    4. 不要编辑 yarn.lock,应该完全由 yarn 更改。

    起源地下载网 » 前端学习笔记(十一)-yarn学习

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元