我正在开发的一个项目有 Nx 用于将前端作为 monorepo 进行处理。这个仓库有一个项目,我们称之为
XYZ
,对于这个项目,tailwindcss、font Awesome 和其他东西都已配置。
我的主要问题是当我开发时,项目不断构建和编译,它不会影响任何性能,但很烦人。
我不知道是什么变化使得有角度地用精确的哈希垃圾重建它。今天我看到 <fa-icon>
标签在每次项目重建时都会刷新,所以我想请你帮助我如何防止它。
项目基于 Angular 15
这是构建日志
nx run XYZ:serve:development
✔ Browser application bundle generation complete.
Initial Chunk Files | Names | Raw Size
vendor.js | vendor | 5.94 MB |
main.js | main | 874.19 kB |
polyfills.js | polyfills | 315.27 kB |
styles.css, styles.js | styles | 281.68 kB |
runtime.js | runtime | 12.96 kB |
| Initial Total | 7.39 MB
Lazy Chunk Files | Names | Raw Size
libs_XYZ_a_src_index_ts.js | ngfrontend-XYZ-a | 289.98 kB |
libs_XYZ_b_src_index_ts.js | ngfrontend-XYZ-b | 35.70 kB |
libs_XYZ_c_src_index_ts.js | ngfrontend-XYZ-c | 29.12 kB |
libs_XYZ_d_src_index_ts.js | ngfrontend-XYZ-d | 19.69 kB |
libs_XYZ_e_src_index_ts.js | ngfrontend-XYZ-e | 11.86 kB |
libs_XYZ_f_src_index_ts.js | ngfrontend-XYZ-f | 9.50 kB |
libs_XYZ_g_src_index_ts.js | ngfrontend-XYZ-g | 8.88 kB |
Build at: 2023-12-04T17:52:33.348Z - Hash: 180e583c689d2917 - Time: 12288ms
Warning: selectbox.component.ts depends on 'lodash'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
Warning: handler.service.ts depends on '@recogito/annotorious'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
✔ Compiled successfully.
✔ Browser application bundle generation complete.
Initial Chunk Files | Names | Raw Size
runtime.js | runtime | 12.96 kB |
11 unchanged chunks
Build at: 2023-12-04T17:52:37.338Z - Hash: e3675ef7ca486451 - Time: 2807ms
✔ Compiled successfully.
✔ Browser application bundle generation complete.
12 unchanged chunks
Build at: 2023-12-04T17:52:38.613Z - Hash: e3675ef7ca486451 - Time: 1090ms
✔ Compiled successfully.
✔ Browser application bundle generation complete.
12 unchanged chunks
Build at: 2023-12-04T17:52:39.948Z - Hash: e3675ef7ca486451 - Time: 1100ms
✔ Compiled successfully.
✔ Browser application bundle generation complete.
12 unchanged chunks
Build at: 2023-12-04T17:52:41.551Z - Hash: e3675ef7ca486451 - Time: 1048ms
✔ Compiled successfully.
✔ Browser application bundle generation complete.
12 unchanged chunks
Build at: 2023-12-04T17:52:43.068Z - Hash: e3675ef7ca486451 - Time: 1309ms
✔ Compiled successfully.
✔ Browser application bundle generation complete.
12 unchanged chunks
Build at: 2023-12-04T17:52:44.332Z - Hash: e3675ef7ca486451 - Time: 961ms
✔ Compiled successfully.
⠙ Generating browser application bundles (phase: building)...^C
如果您需要任何其他信息,请发表评论,以便我可以给您,由于一些法律问题,我必须保持关闭
我尝试检查配置,但没有发现任何意外情况
我相信您的 serve watch 命令正在触发对serve 命令修改的文件夹的监视。这会导致永无休止的循环:构建 - 发现更改 - 构建 - 发现更改 - ...等等
我建议您使用 nx cli 使用新的默认角度应用程序创建一个新工作区(请使用与您的应用程序中相同的软件包版本)。之后,您可以将新默认应用程序中的配置文件与存储库中的配置文件进行比较。
这应该会引导您找到导致 watch 命令不断触发构建的原因。
每次升级我的一个基于 nx 的工作区时,我都会创建一个新的应用程序,就像上面解释的那样。然后,它提供了有关新 nx 默认值的参考。这样我可以使我的配置尽可能接近默认值,这对避免配置问题有很大帮助。