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


Posted in NodeJs onFebruary 04, 2016

以下就是为大家分享的四段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");
 });
});

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

NodeJs 相关文章推荐
nodejs中使用monk访问mongodb
Jul 06 NodeJs
抛弃Nginx使用nodejs做反向代理服务器
Jul 17 NodeJs
nodejs命令行参数处理模块commander使用实例
Sep 17 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 NodeJs
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
Jan 12 NodeJs
NodeJS学习笔记之Module的简介
Mar 24 NodeJs
nodeJS实现路由功能实例代码
Jun 08 NodeJs
nodejs 子进程正确的打开方式
Jul 03 NodeJs
nodeJS微信分享
Dec 20 NodeJs
NodeJS实现同步的方法
Mar 02 NodeJs
nodejs实现百度舆情接口应用示例
Feb 07 NodeJs
Sublime Text3 配置 NodeJs 环境的方法
May 20 NodeJs
Nodejs中session的简单使用及通过session实现身份验证的方法
Feb 04 #NodeJs
nodejs实现bigpipe异步加载页面方案
Jan 26 #NodeJs
NodeJS实现阿里大鱼短信通知发送
Jan 17 #NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 #NodeJs
Nodejs express框架一个工程中同时使用ejs模版和jade模版
Dec 28 #NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 #NodeJs
基于nodejs+express(4.x+)实现文件上传功能
Nov 23 #NodeJs
You might like
十天学会php(1)
2006/10/09 PHP
如何删除多级目录
2006/10/09 PHP
PHP学习笔记之三 数据库基本操作
2011/01/17 PHP
Extjs学习笔记之六 面版
2010/01/08 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
Python多进程写入同一文件的方法
2019/01/14 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
python实现大量图片重命名
2020/03/23 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
求职信标题怎么写
2014/05/26 职场文书
假面舞会策划方案
2014/05/29 职场文书
学校社会实践活动总结
2014/07/03 职场文书
端午节活动总结
2014/08/26 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
小学远程教育工作总结
2015/08/13 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏