相关疑难解决方法(0)

NPM 7.0.0 的工作区是否不再需要 Lerna?

NPM 7.0.0 工作区是否不再需要 Lerna?

我对这个新的 npm 功能并没有真正的经验。

Npm/rfcs写道:

首先也是最重要的是,可以选择将问题集留给用户空间来解决,已经有非常流行的项目 Lerna 提供了其中的一些功能。

还可以选择仅支持此提案的安装(或 Lerna 命名的引导程序)方面,采用功能不太丰富的方法,但仍然可以实现改善管理多个子包的用户体验的基本目标,但是从在这个 RFC 的研究阶段收集的所有反馈来看,这个替代方案对于所涉及的维护者社区来说不太理想。

很高兴每一个答案和解释:)

package node.js npm lerna

20
推荐指数
2
解决办法
5189
查看次数

如何从具有纱线工作空间的monorepo中的nodejs项目构建泊坞窗图像

我们目前正在与我们的团队一起在我们的网站上查看CI/CD.我们最近也适应了monorepo结构,因为这使我们的依赖和概述更容易.目前测试等已准备好用于CI,但我现在正在进行部署.我想创建所需包的docker镜像.

我考虑的事情:

1)将完整的monorepo拉入docker项目,但在我们的项目中运行yarn安装导致总项目大小约为700MB,这主要是由于我们的本机应用程序甚至不应该有docker镜像.此外,每次我们必须部署新版本时,这都会导致图像拉长时间过长

2)以某种方式捆绑我的项目.我们的前端我们有工作设置,所以应该没问题.但是我只是尝试将webpack添加到我们的快速api中,并因此问题在我的捆绑包中出现错误:https://github.com/mapbox/node-pre-gyp/issues/308

3)我尝试仅在所需项目中运行yarn安装,但这仍将为我的所有项目安装我的node_modules.

4)运行npm包:pkg.这导致单个文件准备好在具有特定节点版本的特定系统上运行.这可行,但我不确定这将如何处理错误和崩溃.

5)另一种解决方案是将项目复制出工作区并在那里运行纱线安装.这个问题是使用纱线工作区(隐式链接的依赖关系)就好了.我必须明确地添加我的其他工作区依赖项.一种可能性是从某个提交哈希引用它们,我现在要测试它.(编辑:您似乎无法将子目录引用为纱线包)

6)???

我想知道我是否缺少一个选项,只为某个项目只有所需的node_modules,所以我可以保持我的docker图像小.

node.js express docker monorepo yarn-workspaces

16
推荐指数
1
解决办法
1658
查看次数

标签 统计

node.js ×2

docker ×1

express ×1

lerna ×1

monorepo ×1

npm ×1

package ×1

yarn-workspaces ×1