Angular 中的散列文件名使用什么编码?

问题描述 投票:0回答:1

在以前的 Angular 版本中,哈希文件名看起来像这样:

runtime.59772ce71fd8c096.js
polyfills.efe34593e33fb8e1.js
scripts.109c3e02aa410456.js
main.3645a30dcf6ebeb0.js

名称后面跟着一个点,然后是 16 个字符的十六进制编码的哈希值,然后是扩展名。

现在它们看起来像这样:

styles-GCSEUS35.css
chunk-NLN56U2H.js
polyfills-UCPGG4LZ.js
main-UFPD5ECZ.js

它们由名称后跟连字符、然后以 8 个字符编码的哈希值、以扩展名结尾组成。

我需要知道哪些字符可以成为编码哈希的一部分。

原因是我的服务器在检测到该文件是 Angular 哈希文件时返回长期缓存标头。现在我不知道如何判断它是否是。

angular
1个回答
0
投票

Angular 现在使用 esbuild 进行编译,因此您应该检查文档以了解命名包文件的过程,以避免名称冲突。

检查文档的资产名称部分。关于这个哈希是如何创建的,似乎只使用了大写字母和数字。

如果这有帮助,您还可以使用构建命令禁用散列。您可以使用 output-hashing 选项。

© www.soinside.com 2019 - 2024. All rights reserved.