Skip to content

Commit e242a90

Browse files
committed
docs: ✏️ 更新文档
1 parent a9cd7c7 commit e242a90

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

README.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export default defineConfig({
3838
- **默认值**: 需要手动设置
3939
- **描述**: 是否启用 SRI(子资源完整性)功能,以及可选的哈希算法配置
4040

41-
当设置为 `true` 时,插件会:
41+
当设置为 `true` `{}` 时,插件会:
4242

4343
1. 扫描构建后的 HTML 文件
4444
2. 为所有带有 `src` 属性的 `<script>` 标签添加 `integrity` 属性
@@ -59,4 +59,47 @@ security: {
5959

6060
### 输入 HTML
6161

62+
```html
63+
<!DOCTYPE html>
64+
<html>
65+
<head>
66+
<link rel="stylesheet" href="/assets/app.css">
67+
</head>
68+
<body>
69+
<script src="/assets/app.js"></script>
70+
</body>
71+
</html>
6272
```
73+
74+
### 输出 HTML(启用 SRI 后)
75+
76+
```html
77+
<!DOCTYPE html>
78+
<html>
79+
<head>
80+
<link rel="stylesheet" href="/assets/app.css" integrity="sha512-ABC123..." crossorigin="anonymous">
81+
</head>
82+
<body>
83+
<script src="/assets/app.js" integrity="sha512-XYZ789..." crossorigin="anonymous"></script>
84+
</body>
85+
</html>
86+
```
87+
88+
## 安全说明
89+
90+
SRI(子资源完整性)是一种安全特性,允许浏览器验证获取的资源(例如从 CDN 获取的资源)没有被恶意修改。当浏览器加载资源时,会计算资源的哈希值并与 `integrity` 属性中指定的哈希值进行比较。如果哈希值不匹配,浏览器将拒绝加载该资源。
91+
92+
对于 `<script>` 标签来说,结果为拒绝执行其中的代码;对于 CSS links 来说,结果为不加载其中的样式。
93+
94+
关于 SRI 的更多内容,可以查看 [Subresource Integrity - MDN](https://developer.mozilla.org/zh-CN/docs/Web/Security/Subresource_Integrity)
95+
96+
## 注意事项
97+
98+
1. 此插件仅在生产构建时生效,开发环境会自动跳过
99+
2. 需要确保资源文件在构建输出目录中可访问
100+
3. `integrity` 属性必须与 `crossorigin` 属性配合使用才能正常工作
101+
102+
## 许可证
103+
104+
MIT
105+

0 commit comments

Comments
 (0)