Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
浏览器2020中的javascript模块加载流程,并进行优化(仅在需要时下载)_Javascript_Html_Browser_Es6 Modules - Fatal编程技术网

浏览器2020中的javascript模块加载流程,并进行优化(仅在需要时下载)

浏览器2020中的javascript模块加载流程,并进行优化(仅在需要时下载),javascript,html,browser,es6-modules,Javascript,Html,Browser,Es6 Modules,我使用vanilla javascript作为模块,并像这样直接在浏览器中加载它们 <script type="module" src="app.js"></script> 显然,app.js也使用从其他文件导入的模块。 我在浏览器[最新(2020年3月)chrome&firefox]开发工具中看到的是获取所有嵌套模块的网络请求瀑布 导入中引用了一些模块,但它们仅在用户执行特定操作时使用 下载带有导入的所有模块是否参考了浏览器的标准规范,并且将保持这种方式?我怀疑w

我使用vanilla javascript作为模块,并像这样直接在浏览器中加载它们

<script type="module" src="app.js"></script>

显然,app.js也使用从其他文件导入的模块。 我在浏览器[最新(2020年3月)chrome&firefox]开发工具中看到的是获取所有嵌套模块的网络请求瀑布

导入中引用了一些模块,但它们仅在用户执行特定操作时使用

下载带有导入的所有模块是否参考了浏览器的标准规范,并且将保持这种方式?我怀疑www规范总是在不断发展,我确信有更聪明的人在处理它,所以他们一定在我达到这一点之前就已经思考并解决了这个问题。对吧?

是否有一种变通方法可以告诉浏览器仅在应用程序实际需要模块时获取模块,而无需在第一次加载时提取大量模块

我使用的是纯香草JS,没有任何捆绑包、webpack、babel等。

当然,有一个,甚至不需要从
模块
脚本调用它

const script\u url=url.createObjectURL(新Blob([
`export const foo=“你好,世界”`
],{type:'application/javascript'}));
document.getElementById('btn')。onclick=async(evt)=>{
const mymodule=等待导入(脚本url);
log(mymodule.foo);
};
获取我的模块