你一定会收藏的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 相关文章推荐
iPhone手机上搭建nodejs服务器步骤方法
Jul 06 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
详解使用vscode+es6写nodejs服务端调试配置
Sep 21 NodeJs
nodejs发送http请求时遇到404长时间未响应的解决方法
Dec 10 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
详解Nodejs get获取远程服务器接口数据
Mar 26 NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 NodeJs
nodejs log4js 使用详解
May 31 NodeJs
NodeJS多种创建WebSocket监听的方式(三种)
Jun 04 NodeJs
ubuntu系统下使用pm2设置nodejs开机自启动的方法
May 12 NodeJs
NodeJs使用webpack打包项目的方法详解
Feb 28 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的网址
2006/11/25 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
javascript 函数速查表
2010/02/07 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
javascript 动态创建表格
2015/01/08 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
vue实例的选项总结
2020/06/09 Javascript
vue接口请求加密实例
2020/08/11 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
[00:11]战神迅矛
2019/03/06 DOTA
python中bisect模块用法实例
2014/09/25 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Python序列化基础知识(json/pickle)
2017/10/19 Python
python爬取微信公众号文章
2018/08/31 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
阿巴庭院:Abba Patio
2019/06/18 全球购物
最新茶叶店创业计划书
2014/01/14 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
MySQL 如何限制一张表的记录数
2021/09/14 MySQL
Vue2.0搭建脚手架
2022/03/13 Vue.js
vue封装数字翻牌器
2022/04/20 Vue.js