<link>使用 SCSS 时,如何防止Angular@12在 -tag 上呈现"onload"属性



在中使用SCSS时Angular@12-标签具有属性onload:

<link rel="stylesheet" href="styles.672c1ac3d6da8cc311a2.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.672c1ac3d6da8cc311a2.css"></noscript>

然而,当SCSS为空或未使用SCSS时,它仅呈现:

<link rel="stylesheet" href="styles.31d6cfe0d16ae931b73c.css">

当使用只允许"self"的CSP标头时:

default-src https://*.mysite.nl ; child-src 'self' ; connect-src 'self' ; font-src 'self' ; frame-src 'self' ; frame-ancestors 'self' ; img-src 'self' ; script-src 'self' ; style-src 'self' ;

这会导致违反CSP标头。现在我需要将'unsafe-inline'添加到script-src中。我不想那样!

是否可以强制生产构建不使用onload

找到了!

angular.json中添加"inlineCritical": false解决了我的问题。

"configurations": {
"production": {
"optimization": {
"styles": {
"inlineCritical": false
}
}
},
},

最新更新