angular.json 中带有“inject: false”的样式不会获得哈希值

Sal*_*ene 5 angular

我正在尝试向我的 Angular 12 应用程序添加多个主题,我的设置angular.json如下:

"styles": [
  {
    "input": "src/styles.scss",
    "inject": false,
    "bundleName": "assets/themes/default"
  },
  {
    "input": "src/styles-high-contrast.scss",
    "inject": false,
    "bundleName": "assets/themes/high-contrast"
  }
]
Run Code Online (Sandbox Code Playgroud)

然而,当我构建用于生产的应用程序时,这些文件的文件名中没有哈希值:

$ find dist -name '*.css'
dist/assets/themes/high-contrast.css
dist/assets/themes/default.css
Run Code Online (Sandbox Code Playgroud)

使用默认设置:

"styles": [
  "src/styles.scss"
]
Run Code Online (Sandbox Code Playgroud)

相反,我得到这个:

$ find dist -name '*.css'
dist/styles.1ee1562d01e33dd2000e.css
Run Code Online (Sandbox Code Playgroud)

这意味着文件不会被缓存破坏,这显然是不行的。

但是,文件包含得很好并且样式表也正确应用。

任何人都可以提供有关为什么文件名没有散列的任何见解吗?

谢谢!

小智 -1

删除bundleName。它创建随机名称。