Node.js 分离前端和;后端依赖性与Gulp/warn
我想用Node.js 分离前端和;后端依赖性与Gulp/warn,node.js,gulp,yarnpkg,Node.js,Gulp,Yarnpkg,我想用纱线代替bower+npm。Thread使用package.json,在前端和后端软件包之间不分离 到目前为止,我已经了解到,我需要用gulp分离我的前端+后端依赖项: 我的应用程序使用平均堆栈。目前,我正在使用例如wiredep将所有前端依赖项注入我的index.html 问题: 如何在我的构建过程中自动将前端依赖项与后端依赖项分离?/是否有任何选项可以使用Thread指定前端/后端包?让我介绍一种方法,它允许您针对和筛选多个依赖项。我写这篇文章是为了加快CI阶段的速度,这些阶段只需要
纱线
代替bower
+npm
。Thread使用package.json,在前端和后端软件包之间不分离
到目前为止,我已经了解到,我需要用gulp分离我的前端+后端依赖项:
我的应用程序使用平均堆栈。目前,我正在使用例如wiredep
将所有前端依赖项注入我的index.html
问题:
如何在我的构建过程中自动将前端依赖项与后端依赖项分离?/是否有任何选项可以使用Thread指定前端/后端包?让我介绍一种方法,它允许您针对和筛选多个依赖项。我写这篇文章是为了加快CI阶段的速度,这些阶段只需要开发依赖性的一部分,但最终会有更多的用例。这个项目是相当实验性的-请留下一些反馈
装置
在您的系统上安装:
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
handpick --target=devDependencies --filter=testDependencies
通过以下方式安装devDependencies
和lintDependencies
:
handpick --target=devDependencies --target=lintDependencies --manager=yarn
安装devDependencies
而不安装testDependencies
:
handpick --target=lintDependencies
handpick --target=devDependencies --filter=testDependencies
在路径中安装依赖项
和依赖项
:
handpick --path=../shared
没有办法将它们分开,因为纱线不知道“前端”和“后端”,这与NPM在这方面没有什么区别。只要您在前端应用程序中明确列出软件包(例如导入),就不需要将它们分开。即使如此,将前端和后端保持为不同的项目也是有意义的,例如,它们可能需要不同的包版本。它们通常没有共同之处,只是前端构建应该复制到后端
public
。这如何处理嵌套依赖项?到目前为止,我只看到他们与我的后端依赖关系,而不是前端,但我想有一些。手动定义它们似乎需要很多努力。我希望有一个工具可以扫描我的角度相关性,并将相关性自动复制/移动到一个新文件夹中。然后我可以用wiredep再次注入依赖项。到目前为止,我看到的最合理的解决方案是将fe/be分为两个项目,每个项目都有自己的包。json就是这样做的。有时我有3个项目,一个共同的项目同时托管f/e和b/e项目,只是为了包含它们共同的代码和构建它们的构建/部署脚本。