jQuery加载gzipped脚本

时间:2017-03-09 07:42:10

标签: jquery node.js gzip

我试图加载并执行gzipped脚本!

脚本load.js:

$(document).ready(function() {
   $("#ls_text").text("loaded!");
});

用7zip gzip到load.js.gz。

我的node.js表示提供文件的代码:

app.get('/load.js', function(req, res, next) {
  res.set('Content-Encoding', 'gzip');

  var filepath = path.join(__dirname, '/public/load.js.gz');
  var readstream = fs.createReadStream(filepath);

  readStream.pipe(res);

  res.end();
});

我获取脚本的jQuery客户端代码:

$.ajax({
        url: '/load.js',
        dataType: "script",
        success: function(data, status, xhr) {
            alert("loaded");
        }
});

在浏览器控制台中我收到错误" ERR_CONTENT_DECODING_FAILED"。

我不想让运行时快速gzip脚本!

我做错了什么?

1 个答案:

答案 0 :(得分:0)

当你输入res时,请不要致电res.end()

app.get('/load.js', function(req, res, next) {
  res.set('Content-Encoding', 'gzip');

  var filepath   = path.join(__dirname, '/public/load.js.gz');
  var readStream = fs.createReadStream(filepath);

  readStream.pipe(res);
});