在中使用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
}
}
},
},