我刚刚升级到我的项目到 Angular 12,它有两种延迟加载的样式:
[
{
"inject":false,
"input":"src/styling/dark-style.scss",
"bundleName":"dark-style"
},
{
"inject":false,
"input":"src/styling/light-style.scss",
"bundleName":"light-style"
}
]
它们都是手动添加到 index.html 的,并且可以使用 Angular 服务手动切换。
我也在 angular.json 中尝试过,但没有任何成功:
"optimization":{
"styles":{
"inlineCritical":false
}
}
问题是升级到 12 后编译器会将所有这些样式添加到 index.html 中,并且现在有些样式正在中断,因为这些额外的样式添加到了 head 部分:
<style>@charset "UTF-8";:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark...}}</style><link rel="stylesheet" href="dark-style.css" title="dark-style" media="all" onload="this.media='all'"><noscript><link rel="stylesheet" href="dark-style.css"></noscript>
<style>@charset "UTF-8";:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark...}}</style><link rel="stylesheet" href="light-style.css" title="light-style" media="all" onload="this.media='all'" disabled=""><noscript><link rel="stylesheet" href="light-style.css"></noscript>
在 Angular 12 之前,这些标签不是自动添加的,有没有办法摆脱它们?