这是bootstrap的官方CDN样式表:
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css"
integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B"
crossorigin="anonymous">
但是在我的标记中,我不对版本进行硬编码,因为这可能会发生变化,因此我将其从构建系统或应用程序中删除。一个虚构的例子:
<link rel="stylesheet" href="https://foo.bar.com/jquery/$VERSION/all.min.js" />
您可以看到$VERSION
未被硬编码。因此,我可以更改在构建过程中使用的版本(在package.json
中),而不必编辑应用程序。
现在,我想以相同的方式添加integrity
。我希望可以在package.json
中找到它,但是对于bootsrap来说,它不存在。我也假设要使用其他软件包。
我知道我可以calculate it这样:
echo -n "alert('Hello, world.');" | openssl dgst -sha384 -binary | openssl base64 -A
但我不想使构建系统过于复杂。
是否有一些地方可以从中获取此值,而不必对其进行硬编码?我会从项目的package.json
(或node_modules/bootstrap
中的版本)中自动提取该版本,因此希望为完整性做些类似的事情。