Tag: gzip

如何在Sails.js中gzip JavaScript和CSS资源?

我正尝试在Sails.js(Node)应用程序中为我的资产启用gzip压缩。 在生产环境中启动应用程序时, assets/linker/js和assets/linker/styles中的所有资源都被连接,缩小,成功地成功(在Gruntfile中指定)。 以下输出文件被生成: .tmp/ public/ min/ production.js production.css 我也想添加gzip压缩,因此我已经安装了grunt-contrib-compress并将压缩任务添加到Gruntfile中。 我可以通过成功压缩文件获得以下结果。 .tmp/ public/ min/ production.js production.js.gz production.css production.css.gz 我现在的问题是,服务器需要响应与gzip文件 (当客户端接受编码),而不是正常的,我找不到一个方法来做到这一点。 也许政策是这样做的风帆? 还是有另一种方式来使用快递中间件? 如果有帮助,这是当前的sails-linker任务,它将javascript production.js文件插入到标记中: … prodJs: { options: { startTag: '<!–SCRIPTS–>', endTag: '<!–SCRIPTS END–>', fileTmpl: '<script src="%s"></script>', appRoot: '.tmp/public' }, files: { '.tmp/public/**/*.html': ['.tmp/public/min/production.js'], 'views/**/*.html': ['.tmp/public/min/production.js'], 'views/**/*.ejs': ['.tmp/public/min/production.js'] } }, … 提前谢谢了。

逐行读取gzipstream

我有一个压缩的gzip文件,我想逐行阅读。 var fs = require('fs') var zlib = require('zlib') var gunzip = zlib.createGunzip() var inp = fs.createReadStream('test.gz') var n = 0 var lineProcessing = function (err, data) { if (!err) { n += 1 console.log ("line: " + n) console.log (data.toString()) } } inp .on('data', function (chunk) { zlib.gunzip (chunk, lineProcessing) }) .on('end', function () […]

编码与从StackOverflow API请求JSON的问题

我无法弄清楚我的生活。 下面是一个请求模块的实现,但我也尝试过使用node-XMLHttpRequest模块无济于事。 var request = require('request'); var url = 'http://api.stackexchange.com/2.1/questions?pagesize=100&fromdate=1356998400&todate=1359676800&order=desc&min=0&sort=votes&tagged=javascript&site=stackoverflow'; request.get({ url: url }, function(error, response, body) { if (error || response.statusCode !== 200) { console.log('There was a problem with the request'); return; } console.log(body); // outputs gibberish characters like console.log(body.toString()); // also outputs gibberish }); 似乎是一个编码问题,但我已经在浏览器中使用完全相同的代码(与原生XHR对象),它没有任何问题。 我究竟做错了什么?

使用zlib压缩多个文件

下面的代码将压缩一个文件。 我如何压缩多个文件 var gzip = zlib.createGzip(); var fs = require('fs'); var inp = fs.createReadStream('input.txt'); var out = fs.createWriteStream('input.txt.gz'); inp.pipe(gzip).pipe(out);

Node.js HTTP响应stream

在Node.js中使用本地的http.get() ,我试图将HTTP响应传递给一个可以绑定data和end事件的stream。 我目前正在处理这个gzip数据,使用: http.get(url, function(res) { if (res.headers['content-encoding'] == 'gzip') { res.pipe(gunzip); gunzip.on('data', dataCallback); gunzip.on('end', endCallback); } }); Gunzip是一个stream,这只是工作。 我试图创buildstream(写入stream,然后读取stream)和pipe道响应,但一直没有太多的运气。 任何build议来复制这个相同的交易,对于非压缩内容?

express.js压缩中间件不起作用

我的应用程序中有以下中间件: app.use(express.favicon(__dirname + '/static/public/images/favicon.ico')); app.use(express.compress()); app.use(express.json()); app.use(express.urlencoded()); app.use(express.cookieParser('SECRET!')); app.use(express.static(__dirname + config.static_path, {maxAge: 365 * 86400000})); app.use(express.session({secret: 'SECRET!'})); app.use(flash()); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); 标题示例: 但静态内容不压缩。 可能是什么问题呢?

Nodejs使用zlib以gzip发送数据

我试图用gzip发送文本,但我不知道如何。 在示例中 ,代码使用fs,但我不想发送文本文件,只是一个string。 var zlib = require('zlib'); var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html', 'Content-Encoding': 'gzip'}); var text = "Hello World!"; res.end(text); }).listen(80);

如何在Node.js中将一个可读的stream一次写入两个可写的stream?

目标是: 创build一个文件读取stream。 将其pipe理到gzip( zlib.createGzip() ) 然后将读取的zlib输出stream传递给: 1)HTTP response对象 2) 和可写文件stream来保存压缩的输出。 现在我可以做到3.1: var gzip = zlib.createGzip(), sourceFileStream = fs.createReadStream(sourceFilePath), targetFileStream = fs.createWriteStream(targetFilePath); response.setHeader('Content-Encoding', 'gzip'); sourceFileStream.pipe(gzip).pipe(response); …这工作正常,但我还需要将gzip压缩的数据保存到一个文件,以便我不需要每次重新压缩,并能够直接streamgzip的数据作为响应。 那么,如何在节点中将一个可读stream一次性传递到两个可写stream中? 会sourceFileStream.pipe(gzip).pipe(response).pipe(targetFileStream); 在Node 0.8.x中工作?

node.js – 使用gzip / deflate压缩的简单http请求

我想弄清楚如何轻松发送HTTP / HTTPS请求,并处理gzip /压缩响应与cookies。 我发现最好的是https://github.com/mikeal/request处理除压缩之外的所有内容。 有没有一个模块或方法可以满足我所要求的一切? 如果没有,我可以以某种方式结合请求和zlib吗? 我试图结合zlib和http.ServerRequest,它失败了。 谢谢!

Node.js:Gzip压缩?

我发现Node.js没有gzip压缩,并且没有模块可以执行gzip压缩吗? 任何人都可以使用一个没有压缩的Web服务器? 我在这里错过了什么? 我是否应该尝试将algorithm引入JavaScript以供服务器端使用?