angular - Angular 的全局样式注入(inject) <head> 会影响性能吗?

标签 angular angular-cli

当遵循 Angular-cli 文档时,作为全局样式包含的所有样式最终都会被注入(inject)到 <head> 中。 DOM 创建时的文档。考虑到通常全局样式可以包含多行代码,我试图了解注入(inject)是否适合大型、系统化设计的 Web 应用程序。

我可以看到在 <head> 中使用样式的好处在第一次加载。但是在随后的加载中会发生什么?浏览器不缓存内联或<head>样式,这使得外部 CSS 文件成为更好的选择:下载一次,然后从缓存中加载。 Angular 的方法导致在每次新页面加载时加载样式(有效地从 JS)。

还是我遗漏了什么?可能是因为 <head>样式是从 JS 渲染出来的,由于 Angular 的文件是自己下载和缓存的,所以样式实际上也被缓存了?

最佳答案

几乎你说的一切都是真的,这就是为什么 angular-cli 可以选择将 css 提取到 css 文件中,而不是 js

--extract-css (Boolean) Extract css from global styles onto css files instead of js ones.
  aliases: -ec, --extractCss

所以你可以这样使用它:

ng build -ec

关于angular - Angular 的全局样式注入(inject) <head> 会影响性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45015715/

相关文章:

json - IONIC 3 CORS 问题

Angular CLI 6. 无法在 app.module 的子模块中使用自定义库组件

angular - ERROR in Metadata version mismatch for module X found version 4, expected 3, resolving symbol Y

angular - ng serve 在构建模块的 15% 处挂起

angular-cli - Angular cli - ng 新卡住

html - 单击时如何更改文本和按钮图像(或按钮)

angular-material-extensions/select-country - 无法获取资源

node.js - 找不到构建器 @angular-devkit/build-angular :dev-server on ng serve command 的实现

javascript - 将 delay(0) 与 refCount() 结合使用

angular - 我在 angular-cli.json 中包含排除后,规范文件正在被检查