JavaScript和CSS是应该包含在外部文件还是内联在页面中?通常使用外部文件更好。
外部文件带来的收益——js和css文件有机会被浏览器缓存起来。HTML文档——至少是那些包含动态内容的HTML文档——通常不会被配置为可以进行缓存。当遇到这种情况,每次下载HTML文档都要下载内联样式和js。再者,既然浏览器缓存了js和css文件,那么就减少了HTTP请求。
评估网站如何能做大最大性能,是要依据每个网站的用户量以及各种因素。那么怎么衡量是使用内联js和css还是使用外部js和css?
1、页面浏览量,如果浏览量越少,内联更优。
2、空缓存和完整缓存,如果网站本质上能为用户产生高完整的缓存率,使用外部。如果不大可能产生高完整缓存,使用内联。
3、组件重用。如果组件重复率高,外部。重复率底,内联。
加载后下载,这个思想。希望先加载内联的js和css,但又为后续的用户浏览其他页面提供外部文件。所以加载后下载的思想就出现了。这个可以通过在onload事件来实现。
function doOnload(){
setTimeout('downloadComponents()',1000)
}
window.onload=doOnload;
必须等待网页全部加载完毕(包括图片等),然后再执行JS代码
function downloadComponents(){
downloadJS('地址');
downloadCSS('地址');
}
function downloadJS(url){
var el=document.createElement('script');
el.src=url;
document.body.appendChild(el);
}
function downloadCSS(url){
var el=document.createElement('link');
el.rel="stylesheet";
el.type="text/css";
el.href=url;
document.body.appendChild(el);
}
精简的JavaScript就是打包优化,移除不必要的代码,将文件的大小减小,使其下载的时候时间更快。打包优化也可对代码进行压缩,但是压缩代码相当混淆,混淆是有缺陷的,根本看不到代码。
https://juejin.im/post/5defb2866fb9a01631780d29