使用 Gulp/Yarn 分离前端和后端依赖性

Separating Frontend & Backend Dependencies with Gulp/Yarn

我想使用 yarn 而不是 bower + npm。 Yarn 使用 package.json 并且不区分前端和后端包。

到目前为止,我读到我需要用 gulp 将我的前端 + 后端依赖项分开:

我的应用程序使用 MEAN 堆栈。目前,我正在使用例如wiredep 将所有前端依赖项注入我的 index.html

问题: 如何在我的构建过程中自动将前端依赖项与后端依赖项分开?/是否有任何选项可以使用 yarn 指定 frontend/backend 包?

让我介绍一下 handpick,它可以让您定位和过滤多个依赖项。我写这个是为了加快 CI 阶段,这些阶段只需要 devDependencies 的一个片段,但最终会有更多的用例。这个项目是非常实验性的 - 请留下一些反馈。

安装

在您的系统上安装:

npm install handpick --global

用法

运行命令:

handpick [options]

-V, --version
-T, --target
-F, --filter
-M, --manager
-P, --path
-h, --help

例子

package.json 文件中定义非官方依赖项:

{
    "lintDependencies":
    {
        "eslint": "6.8.0",
        "eslint-config-redaxmedia": "2.0.0"
    },
    "testDependencies":
    {
        "chai": "4.2.0",
        "mocha": "7.1.1"
    }
}

安装 lintDependencies:

handpick --target=lintDependencies

通过 YARN 安装 devDependencieslintDependencies

handpick --target=devDependencies --target=lintDependencies --manager=yarn

安装 devDependencies 不带 testDependencies:

handpick --target=devDependencies --filter=testDependencies

在路径中安装 dependenciesdevDependencies

handpick --path=../shared