子资源集成
SubResourceIntegrity 是一个零依赖性滚动插件,用于添加子资源完整性(SRI)
属性到您的 HTML 文件。 SRI有助于确保外部资源的完整性(例如:,
脚本和样式表),通过允许浏览器验证所取取文件是在不完成的情况下发送的
意外的操纵.
特征
- 0运行时间依赖关系(自v2.0.
- 自动计算资源完整性散列
*.htm财务报告和审定财务报表*.html。 。 。 . - 支持多个散列算法( S)
sha256, (中文(简体) ),sha384, (中文(简体) ),sha512) (中文(简体) ). - 将无缝地纳入"滚动"建设进程.
安装
要使用此插件, 请通过 npm 安装 :
npm i -D @darcas/rollup-sub-resource-integrity
或者,如果你用纱线:
yarn add @darcas/rollup-sub-resource-integrity --dev
说明: 由于 v2 , 插件没有运行时间依赖性 — 从 v1 升级不需要代码 变化.
从 v1 移到 v2
不需要更改代码:插件 API 及其用途保持不变.
车盖下有什么变化:
- 零运行时间依赖关系.
cheerio已删除; 安装插件不再拉动 在任何包装. - 内膜加工. 钩子从哪里移出
writeBundle(从磁盘读出/写出)到generateBundle,将资源直接从捆绑输出. crossorigin="anonymous"自动添加 给每个收到integrity属性,因为浏览器忽略了跨源资源上的SRI.- 节点.js 18 现在需要.
使用量
在你身边 vite.config.mts 仅添加:
import SubResourceIntegrity from '@darcas/rollup-sub-resource-integrity';
import {defineConfig} from 'vite';
export default defineConfig({
//..
plugins: [
//..
SubResourceIntegrity(),
//..
],
//..
});
如何运作
- 期间
generateBundle阶段,插件扫描捆绑中释放的 HTML 资产. - 它寻找资源标记( I)
<script src>财务报告和审定财务报表<link rel="stylesheet|preload|modulepreload">(中文(简体) ) 其URI匹配同一捆绑中的文件. - 每场比赛:
- 内容取自内存捆绑( 无磁盘访问) 并使用指定的散列 算法.
- 一个
integrity属性添加到标签中. - A 类
crossorigin="anonymous"缺少时添加属性, 因为浏览器忽略integrity打开 没有这种资源,就有各种来源的资源.
- 外部 URIs (
http(s):协议关系,data:) 捆绑中缺少的资源是: 默默跳过.
0运行时间依赖性:HTML重写使用定向正则克,而不是DOM parser.
配置
插件接受一个可选参数来指定散列算法. 默认是 sha384。 。 。 .
支持的算法
sha256sha384(默认)sha512
示例
使用自定义算法 :
SubResourceIntegrity('sha512');
捐款
若想为项目出力,可以随意将项目叉出并创建拉出请求. 请 保证您的更改经过充分测试并有适当的文件记录.
许可证
这个项目根据麻省理工学院的许可证获得许可。 见 自由主义 详细文件.
由 Q 制作 达里奥·卡斯特拉诺(达尔卡斯)。 。 。 .