【问题标题】:How do I only put dependencies into a specific folder for yarn?如何仅将依赖项放入纱线的特定文件夹中?
【发布时间】:2018-07-26 21:03:02
【问题描述】:

背景

我一直使用bower 来处理依赖关系,但是现在我想迁移到yarn。我遇到的主要障碍是从下面的.bowerc 文件迁移到.yarnrc

.bowerrc

{
     "directory": "src/vendors"
}

问题是我可以创建一个.yarnrc 文件,如下所示,它将任何 依赖项放入src/vendors,但包含 devDependencies。

.yarnrc

--modules-folder src/vendors

问题

我如何只将依赖项放入src/vendors并将devDependencies放入node_modules

【问题讨论】:

    标签: javascript npm gulp bower yarnpkg


    【解决方案1】:

    您可以使用--production option 告诉 yarn 您要安装哪些依赖项;如果设置为true,它将只安装dependencies

    所以在您的src 文件夹中创建一个.yarnrc 文件,其内容如下:

    --modules-folder vendors
    --production true
    

    在您的项目目录中,在.yarnrc 文件中,将--production 设置为false

    --production false
    

    文件夹结构:

    .
    ├── package.json
    ├── src
    │   └── .yarnrc
    └── .yarnrc
    

    【讨论】:

    • 创建两个 .yarnrc 文件后,确保先在 src 目录运行 yarn install ,然后再在根目录运行。如果反过来,它将清除根目录的 node_modules 文件夹中的所有内容。这个问题记录在here
    【解决方案2】:

    完成与上述答案相同的事情(但没有.yarnrc 文件)的另一种方法是向package.json 添加两个不同的脚本,类似于以下内容:

      "scripts": {
          "install-depends": "yarn install --production=true --modules-folder ./src/vendors",
          "install-devDepends": "yarn install --production=false"
       }
    

    然后你只需按照相同的顺序运行它们(如果你反过来运行,它将清除 node_modules 中的所有内容:

    1. yarn run install-depends
    2. yarn run install-devDepends

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      相关资源
      最近更新 更多