你一定会收藏的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入门详解(多篇文章结合)
Mar 07 NodeJs
NodeJS学习笔记之网络编程
Aug 03 NodeJs
NodeJS使用jQuery选择器操作DOM
Feb 13 NodeJs
Nodejs实现批量下载妹纸图
May 28 NodeJs
Nodejs爬虫进阶教程之异步并发控制
Feb 15 NodeJs
Nodejs如何复制文件
Mar 09 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
nodejs body-parser 解析post数据实例
Jul 26 NodeJs
nodejs 日志模块winston的使用方法
May 02 NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 NodeJs
监控Nodejs的性能实例代码
Jul 02 NodeJs
如何利用nodejs实现命令行游戏
Nov 24 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命令行用法
2015/02/04 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
详谈javascript异步编程
2016/02/21 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
Python单元测试框架unittest简明使用实例
2015/04/13 Python
python控制台中实现进度条功能
2015/11/10 Python
探究python中open函数的使用
2016/03/01 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
用python爬取租房网站信息的代码
2018/12/14 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
软件测试常见笔试题
2012/02/04 面试题
团员学习总结的自我评价范文
2013/10/14 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
手机银行营销方案
2014/03/14 职场文书
借款担保书范文
2014/05/13 职场文书
读书月活动方案
2014/05/22 职场文书
企业法人授权委托书
2014/09/25 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
导游词之青城山景区
2019/09/27 职场文书
导游词之阆中古城
2019/12/23 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
python中的sys模块和os模块
2022/03/20 Python