Angular 组件中的 styleURL 是否比从所有 scss 文件构建编译和转译的 app.css 更快或更有效?

Would styleURL in an Angular component be faster or more efficient than having a compiled and transpiled app.css built from all the scss files?

我不确定我是否理解 Angular 中 styleURLS 的用途。

我所有的 scss 文件都编译成一个大的 css 文件,整个应用程序都指向那个 css 文件。因此,使用 angular 组件生成的 html 将查看它以获得正确的 类.

的正确样式

不过,我也可以直接向组件提供 styleURLs 属性,在这种情况下组件指向 scss 文件。

看起来应该更有效率,但我不知道确实如此。

我真的不知道效率,但每个组件的 styleUrls 是 Angular 试图强加其设计模式的基本原则之一,即模块化。这就是为什么我们有组件、指令、管道、模块、服务等。

此外,请尝试阅读 Angular 中的视图封装并了解它如何与您的样式表结合使用,也许这会回答您的问题。

如果不是,很可能我没有完全理解您的问题。 祝你好运!

我不确定效率,但主要是为了模块化。

来自documentation

Angular can bundle component styles with components, enabling a more modular design than regular stylesheets

The styles specified in @Component metadata apply only within the template of that component

这将为您带来以下好处

  • You can use the CSS class names and selectors that make the most sense in the context of each component.
  • Class names and selectors are local to the component and don't collide with classes and selectors used elsewhere in the application.
  • Changes to styles elsewhere in the application don't affect the component's styles.
  • You can co-locate the CSS code of each component with the TypeScript and HTML code of the component, which leads to a neat and tidy project structure.
  • You can change or remove component CSS code without searching through the whole application to find where else the code is used.