A5下载文章资讯

分类分类

你一定会收藏的Nodejs代码片段

2016-02-05 16:29作者:fang

以下就是为大家分享的四段Nodejs值得收集的代码片段,供大家参考,具体内容如下

1、关于Nodejs的静态资源压缩与缓存参见:Nodejs打造静态资源服务器与文件上传刚学Express那会,动态文件的gzip压缩,好长一段时间都没找到合适的方法,才发现就是这么简单……

app.js里添加compression模块:

先安装;var compress=require('compression');app.use(compress()); OK了动态文件也能gzip压缩了;

2、抓取妹子的图片:

//依赖模块

var fs = require('fs');

var request = require("request");

var cheerio = require("cheerio");

var mkdirp = require('mkdirp');

//目标网址

var url = 'http://me2-sex.lofter.com/tag/美女摄影?page=';

//本地存储目录

var dir = './images';

//创建目录

mkdirp(dir, function(err) {

if(err){

console.log(err);

}

});

//发送请求

request(url, function(error, response, body) {

if(!error && response.statusCode == 200) {

var $ = cheerio.load(body);

$('.img img').each(function() {

var src = $(this).attr('src');

console.log('正在下载' + src);

download(src, dir, Math.floor(Math.random()*100000) + src.substr(-4,4));

console.log('下载完成');

});

}

});

//下载方法

var download = function(url, dir, filename){

request.head(url, function(err, res, body){

request(url).pipe(fs.createWriteStream(dir + "/" + filename));

});

};

3、解压文件

var fs = require('fs'),

unzip = require('unzip');

//fs.createReadStream('./angular-swipe-master.zip').pipe(unzip.Extract({ path: './' }));

var extract = unzip.Extract({ path: './' });

extract.on('error', function(err) {

console.log(err);

});

extract.on('finish', function() {

console.log("unziped!!");

});

fs.createReadStream('./angular-swipe-master.zip').pipe(extract);

4、压缩文件

var fs = require("fs");

var zip = require("node-native-zip");

var archive = new zip();

archive.addFiles([

{ name: "app.j", path: "./app.js" },

{ name: "package.json", path: "./package.json" }

], function (err) {

if (err) return console.log(err);

var buff = archive.toBuffer();

fs.writeFile("./test2.zip", buff, function () {

console.log("ziped");

});

});

以上就是本文的全部内容,希望对大家的学习有所帮助,在新的一年里我们共同进步!

展开全部

相关

说两句网友评论
    我要跟贴
    取消