gpt4 book ai didi

angular - 在 Nrwl/Nx 工作区中包含一些库的包

转载 作者:行者123 更新时间:2023-12-04 12:44:49 74 4
gpt4 key购买 nike

在 Nrwl/Nx 工作区中似乎只有一个 package.json 文件。现在,如果我们有多个应用程序,每个应用程序都依赖于不同的包,那么我们必须将所有这些包包含在单个 package.json 文件中,这会不会在构建时增加所有应用程序的大小? (推测为 vendor.js 文件)。

例如,如果 app-1 依赖于 d3 而 app-2 依赖于 ag-grid 库,那么这两个库是否会不必要地同时包含在 app-1 和 app-2 中?当 app-1 的用户访问该应用程序时,不需要为他们加载 ag-grid。

我的理解是正确的还是我遗漏了什么?如果我的假设是正确的,有没有办法解决这个问题?

延迟加载的库怎么样?例如,仅对某些用户(具有管理员 Angular 色)可用的“管理员”库可能需要某些图形包,而不必为所有用户加载这些包。

谢谢你。

最佳答案

使用 nrwl/nx 的好处之一是单个 package.json 文件。使用单个 package.json 很棒,因为当您需要升级诸如 rxjs 之类的东西时,您只需要做一次,并且您的整个代码库都在同一组依赖项上运行。

它不会影响编译代码的大小,因为由于 webpack 捆绑和树摇动,应用程序将只包含它使用的代码。因此,不存在 D3 出现在不使用它的应用程序的捆绑包中的风险。实际上,您可以在 package.json 中列出每个 npm 包,它不会影响您的包大小。

nrwl/nx 100% 打算只使用一个 package.json 文件。如果您使用的是 nx,请不要尝试将其分解。

关于angular - 在 Nrwl/Nx 工作区中包含一些库的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52761592/

74 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com