如何仅将依赖项放入纱线的特定文件夹中?

时间:2018-02-16 00:40:57

标签: javascript npm gulp bower yarnpkg

背景

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

.bowerrc

{
     "directory": "src/vendors"
}

问题是,我可以制作.yarnrc文件,如下所示,将任何依赖关系放入src/vendors,但包含 devDependencies。

.yarnrc

--modules-folder src/vendors

问题

如何将依赖项添加到src/vendors并将devDependencies放入node_modules

2 个答案:

答案 0 :(得分:4)

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

因此,在src文件夹中制作包含以下内容的.yarnrc文件:

--modules-folder vendors
--production true

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

--production false

文件夹结构:

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

答案 1 :(得分:3)

完成上述答案(但没有.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