gpt4 book ai didi

javascript - 是否可以在 ES6 模块导入中使用子资源完整性?

转载 作者:可可西里 更新时间:2023-11-01 01:54:35 26 4
gpt4 key购买 nike

给定这样的代码:

import { el, mount } from 'https://unpkg.com/redom@3.2.1/dist/redom.es.js';

有没有办法启用subresource integrity verification以确保 CDN Assets 返回预期的内容?

最佳答案

在 HTML 文档中,您可以使用 <link rel="modulepreload"> 元素来执行完整性检查,不幸的是,目前仅 Blink 浏览器支持此功能。

// default script
import( "https://unpkg.com/redom@3.2.1/dist/redom.es.js" )
.then( module => console.log( 'from default script:', typeof module.List ) )
.catch( console.error );
<link rel="modulepreload" 
href="https://unpkg.com/redom@3.2.1/dist/redom.es.js"
integrity="sha384-notthecorrectsha">
<script type="module">
import { List } from "https://unpkg.com/redom@3.2.1/dist/redom.es.js";
console.log( 'from module script:', typeof List );
</script>

没有完整性检查的相同片段:

// default script
import( "https://unpkg.com/redom@3.2.1/dist/redom.es.js" )
.then( module => console.log( 'from default script:', typeof module.List ) )
.catch( console.error );
<link rel="modulepreload" 
href="https://unpkg.com/redom@3.2.1/dist/redom.es.js">
<script type="module">
import { List } from "https://unpkg.com/redom@3.2.1/dist/redom.es.js";
console.log( 'from module script:', typeof List );
</script>

请注意,此检查也适用于“子模块”,但不适用于 Workers。

关于javascript - 是否可以在 ES6 模块导入中使用子资源完整性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45804660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com