在一个名为“assets”的目录中大约有 10 个文件,这些文件是浏览器主布局中各种 img 标签所需的。
发送 10 个单独的请求以获取单独的小图像文件。(最终我会优化这个,只发送一个请求来加载一个包含所有图像的单个图像表)
但有时无法加载所有这些,因此浏览器会显示旋转/加载图标很长时间,直到它超时或加载它们但它们是错误的顺序/匹配(img 标签将显示错误的图像)或它只是不加载图像,每次我刷新页面时它的行为都不同
//first request gzips and loads the main layout, subsequent requests loads images
require('fs').readFile('assets/'+params.file, function(err, data) {
if(err) throw err;
if(params.file == 'layout.html') {
require('zlib').gzip(data, function(err, buffer) {
if(err) throw err;
output(buffer, params);
});
} else output(data, params);
});
function output(data, params){
switch(params.file.substring(params.file.length-3)) {
case 'tml': params.headers = {'Content-Encoding': 'gzip'};break;
case 'ico': params.headers = {'Content-Type': 'image/x-icon'};break;
case 'ttf': params.headers = {'Content-Type': 'application/x-font-ttf' }; break;
case 'otf': params.headers = {'Content-Type':'font/opentype'};break;
case 'png': params.headers = {'Content-Type':'image/png'};break;
case 'gif': params.headers = {'Content-Type':'image/gif'};break;
case 'peg':
case 'jpg': params.headers = {'Content-Type':'image/jpeg'};break;
default: params.headers = {};
}
params.headers['Set-Cookie'] = '';
params.responseOutput(data, params);
}
这感觉有点像那些讨厌的“关闭”问题,但这里没有 forloops 并且来自浏览器的每个图像请求都不应该干扰另一个(..然而它是)