我正在从main.js
中的CDN导入库:
import * as foo from "https://cdn.jsdelivr.net/npm/foo";
但是,相同的库也用于所有其他模块,如a.js
、b.js
等......因此,在所有这些模块中,我都在重复import
。
浏览器是否每次导入都向CDN发送一个请求,从而影响性能?或者浏览器是否只导入一次库,并将其保存在内存中以供其他模块中的import
使用?
PS:这可能是一个XY问题...我真正的问题是如何在几个模块之间共享一个导入。我找到了一些解决方案,比如创建一个全局(window.foo = foo
),但它们似乎有点过时。
1条答案
按热度按时间yyyllmsg1#
正如我在评论中所说的,并从操作中问:
你可以自己测试,非常简单。创建一个网页,导入一堆到同一个库/模块。
打开开发者工具并查看网络选项卡。对您正在导入的lib/url进行了多少次http请求?
TL;DR:没有针对每个import语句的附加请求。