Esf*_*iar 14 monorepo angular nrwl
看起来 Nrwl/Nx 工作区中只有一个 package.json 文件。现在,如果我们有多个应用程序,每个应用程序都依赖于不同的包,那么我们必须将所有这些包包含在单个 package.json 文件中,这不会增加所有应用程序构建时的大小吗?(大概是vendor.js 文件)。
例如,如果 app-1 依赖于 d3 而 app-2 依赖于 ag-grid 库,那么这两个库是否会不必要地包含在 app-1 和 app-2 中?当 app-1 的用户访问该应用程序时,不需要为他们加载 ag-grid。
我的理解正确还是我遗漏了什么?如果我的假设是正确的,有没有办法解决这个问题?
延迟加载的库怎么样?例如,仅对某些用户(具有管理员角色)可用的“管理”库可能需要某些图形包,而不必为所有用户加载这些包。
谢谢。
mgm*_*m87 13
使用 nrwl/nx 的好处之一是单个 package.json 文件。使用单个 package.json 很棒,因为当您需要升级像 rxjs 这样的东西时,您只需执行一次,并且整个代码库都在同一组依赖项上运行。
它不会影响编译代码的大小,因为由于 webpack 捆绑和 tree shake,应用程序只会包含它使用的代码。因此,对于不使用 D3 的应用程序来说,不存在出现在捆绑包中的风险。实际上,您可以在 package.json 中列出每个 npm 包,并且它不会影响您的包大小。
nrwl/nx 100% 打算仅使用一个 package.json 文件。如果您使用 nx,请不要尝试分解它。
| 归档时间: |
|
| 查看次数: |
12689 次 |
| 最近记录: |