Tag: 压缩

错误:在Node.js,Express之后写入

我得到以下错误 标题 Caught exception: Error: write after end at ServerResponse.OutgoingMessage.write (_http_outgoing.js:413:15) at ServerResponse.res.write (/home/projectfolder/node_modules/express/node_modules/connect/lib/middleware/compress.js:110:17) at ServerResponse.res.end (/home/projectfolder/node_modules/express/node_modules/connect/lib/middleware/compress.js:116:14) at ServerResponse.res.send (/home/projectfolder/node_modules/express/lib/response.js:154:8) at fn (/home/projectfolder/node_modules/express/lib/response.js:794:10) at View.exports.renderFile [as engine] (/home/projectfolder/node_modules/jade/lib/jade.js:222:12) at View.render (/home/projectfolder/node_modules/express/lib/view.js:76:8) at Function.app.render (/home/projectfolder/node_modules/express/lib/application.js:504:10) at ServerResponse.res.render (/home/projectfolder/node_modules/express/lib/response.js:798:7) at /home/projectfolder/app/controllers/index.js:578:9 是任何人都知道这个错误的原因。 我知道,我们不能写入响应发送后的stream,但我无法find从这里写操作执行,我得到这个错误。 我的app / controllers / index.js文件代码如下。 请帮忙。 index.js var request= require("request"); var crypto = require('crypto'); […]

node.js:压缩string

我需要caching(在内存中)一堆相当冗长的string。 似乎不必要地使用内存,特别是当有一个内存配额强加,所以想知道在caching之前压缩这些string是合理的,然后提取后解压缩。 看起来像node.js有一个内置的zlib模块 ,虽然这似乎更多地针对文件/stream压缩,可能是用于简单的string压缩,例如从文档: var input = '……………………………'; zlib.deflate(input, function(err, buffer) { if (!err) { console.log(buffer.toString('base64')); } }); 有什么想法吗? 任何其他库或实用function可用?

Babel不会忽略node_modules目录,尽pipe它处于“ignore”configuration

由于某种原因, babel不会忽略node_modules目录,尽pipe我在.babelrc文件的"ignore"字段中指定了它。 为什么会发生? 如何使babel按预期行事? 我的目标是在将我的应用程序推送到远程仓库再到服务器之前,压缩和压缩ExpressJS应用程序中的所有.js文件(特别是我的所有后端代码)。 所以我用babel和babili 。 这是我的.babelrcconfiguration: { "presets": [ ["latest", { "modules": false }] ], "env": { "development": { "presets": ["stage-0", "react", "babili"] }, "production": { "presets": ["stage-0", "react", "babili"] } }, "ignore": [ "node_modules", "assets", "view", "public", "test", "spec", "logs", "lib/jasmine_examples", "db" ] } 我从命令行运行babel像这样: ./node_modules/.bin/babel . -d ~/app_compressed/ babal开始压缩node_modules目录: node_modules\apache-crypt\gensrc\index.js -> […]

在node.js中压缩

我在caching层(redis)中放了一些较大的JSON值,我想他们可以使用一些压缩来减less我的内存使用量。 您使用哪个node.js压缩模块? 出于某种原因,在joyent / node Modules wiki上列出的所有内容都看起来很腥 – 404s,没有提交超过一年的提交,很less有人看,或者打开内存泄漏报告。 Snappy看起来不错,但我宁愿去更便携的东西。 我当然更喜欢asynchronous压缩/解压缩的API,但我也很好奇,如果你认为这对低压缩水平有很大的影响。 提前感谢您的回复! 编辑: 关于可移植性 :我真正的意思是可以通过npm来安装模块,并且没有在通用的* NIX设置中不存在的外部依赖关系。 为什么? 因为某些PaaS设置(目前只有我所知道的heroku的青瓷雪松 ,但是可能在将来会更多)不能通过ssh等提供对实例环境的传统pipe理访问,而引入依赖关系的唯一方法是通过npm 。 理想情况下,模块也应该在cygwin上运行。 那么你会用什么?

gzip没有服务器支持?

我写了一个最小化和基本parsing/ varreplace的css服务器。 服务器正在使用node.js. 我想从这个服务器gzip我的回应。 正如在IRC中所说的,node.js目前没有gzip库,所以我试图从命令行手动执行(因为我只是在不在caching中时进行gzip压缩)。 我将文件数据推送到临时文件,然后使用exec调用'gzip -c -9 -q ' + tempFile 。 我正确地得到压缩的数据(看来),并发送适当的Content-Encoding标头为'gzip' ,但Chrome报告: Error 330 (net::ERR_CONTENT_DECODING_FAILED): Unknown error 。 还有一些独立的gziptesting人员也失败了(不仅仅是Chrome)。 我假设这是简单的,我不知道为浏览器生成gzip块,看到我从来没有尝试过手动。 任何援助将是有益的。 服务器的速度非常快,但是我需要对内容进行gzip以获得最终用户的最佳性能。 谢谢。 更新我已经validation了我的Content-Length是正确的

Express:服务预压缩的静态资产

我想预先压缩我的静态资产(不包括图片)并提供服务。 为了提供public文件夹,我有: app.use(express.static('path/to/public/')); 我相信express.compress()在即时压缩,这似乎是静态资产的服务器CPU上不必要的负担。 什么是达到这个标准的方法?

如何缩小gulp-webpack文件?

有以下情况: gulp.task('webpack', function(cb) { gulp.src('webpack-init.js') .pipe(webpack({ output: { filename: 'bundle.js', }, })) .pipe(gulp.dest('./client/js')); cb(); }); 一切正常,但我想缩小输出文件。 如果我直接使用gulp-uglify – .pipe(webpack(…)) .pipe(uglify().on('error', gutil.log)) .pipe(gulp.dest('./client/js')); 有一个错误:“意外的令牌:punc())]”和其他的这种说法。

编码与从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对象),它没有任何问题。 我究竟做错了什么?

在没有Node.js的javascript中使用lz4压缩

我正在尝试让LZ4解压缩在纯JavaScript中工作在客户端。 我find了这个JavaScript库,但它的目的是与Node.js一起使用。 在同一个版本库中,我发现了一个理论上可以在浏览器中使用的库 。 问题是,这样的库期待仍然Node.js缓冲区,我再也没有,因为我没有使用Node.js,所有这一切都发生在客户端(我logging了一个错误在这里试图获得一些指针如何使用它)。 然后我寻找一个Node.js缓冲区的移植,我发现这个库 。 问题是,当我使用它,我得到这个错误在Chrome和Firefox: TypeError: this is not a typed array 我为此logging了这个错误报告。 我觉得把这两个库合并起来,我不是很难在纯JavaScript中实现lz4解压缩,但是从来没有用过ArrayBuffer,Uint8Array和Node.js,我正在努力把这些点连接起来。 我的问题:有没有人成功地设法解压纯JavaScript的LZ4? 任何build议或指针? 提前致谢。

使用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);