当我使用谷歌地图时,我对它的实现很感兴趣,所以我使用萤火虫来检查。
然后我发现它的 javascript 加载策略相当有趣。以这个页面为例:
然后当我第一次打开这个页面时,会加载以下js:
https://maps.googleapis.com/maps/api/js?sensor=false
https://maps.gstatic.com/intl/en_us/mapfiles/api-3/9/13b/main.js
https://maps.gstatic.com/cat_js/intl/en_us/mapfiles/api-3/9/13b/%7Bcommon,map,util,poly%7D.js
https://maps.gstatic.com/cat_js/intl/en_us/mapfiles/api-3/9/13b/%7Bonion,geometry%7D.js
但是如果我刷新页面(使用 ctrl+f5),会加载以下 js:
https://maps.googleapis.com/maps/api/js?sensor=false
https://maps.gstatic.com/intl/en_us/mapfiles/api-3/9/13b/main.js
但是页面仍然有效,覆盖在地图中绘制。但是 poly.js 等在哪里?
另外,谁能告诉我如何按组件加载js?例如common
util
poly
示例中的。
当我编写不同的组件时我应该知道什么?