nodejs自学杂记

2014/12/31 5:1:15翻牌: 3914临幸: 4
nodejs使用http.request抓取网页。option中还可以设置其他参数,例如timeout: 50000。即请求超时的时间。也可以加一些自定义的参数,比如加一个tryTime: 3, 当请求出错后,在回调中tryTime--,如果>=0 那么回调中再次的调用一次spider。回调函数示例function callback(data, opt, encode) {     if (data == null && opt.tryTimes-- > 0) {         console.log("path " + opt.path + " error, try again"); ...
2014/12/31 9:16:0翻牌: 5880临幸: 0
    cheerio是一个nodejs实现的类似jquery核心功能的一个模块,用它可以方便的将字符串解析成DOM文档,像用jquery一样方便的操作html。cheerio结合前面提到的nodejs的spider,可以将抓取的网页方便的提取出自己所需的内容。1. 安装cheerio    npm install cheerio2. 加载htmlvar cheerio = require("cheerio"); var $ = cheerio.load("<div><p>一行文字</p><img id = "img1" src="/a.jpg"/><img src="/b.jpg"/></...
2014/12/31 9:30:45翻牌: 4929临幸: 1
NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入、标准输出及标准错误输出的接口 child.stdin 获取标准输入 child.stdout 获取标准输出 child.stderr 获取标准错误输出 获取子进程的PID:child.pid 提供生成子进程的重要方法:child_process.spawn(cmd, args=[], [options]) 提供直接执行系统命令的重要方法:child_process.exec(cmd, [options], callback) 提供杀死进程的方法:child.kill(signal="SIGTERM")error事件...
2015/1/1 2:21:13翻牌: 3892临幸: 1
    在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入,而像PHP之类的脚本则总是重新读取并解析脚本(如果没有专门的优化配置)。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。    supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。使用方法很简单,首先使用 npm 安...
2015/1/1 5:20:28翻牌: 4705临幸: 20
代码放在github上,欢迎下载,欢迎提出意见和建议https://github.com/longmenwaideyu/expressjs-blog主要功能和特色文集功能,将文章整理成册功能齐全的富文本编辑器,写博客更随心响应式布局,手机上效果也很出色搜索引擎优化,自动提取文章大纲和关键词,填入description和keywords占内存少,方便托管于bae的128m最小web服务上。漂亮的侧边栏自定义URL,连接可以体现博客主题待开发功能文章右侧边栏增加一个自动提取的文章大纲,充当文章的目录功能,自动添加锚点进行定位,用户无需手动添加增加markdown的编辑器回复审核和删除功能seo优化...
2015/1/12 4:58:53翻牌: 3026临幸: 0
先上一段代码,在解释其中道理//基类 var Person = function (name, age) {     //可继承的的,公有的属性     Person.prototype.name = name;     Person.prototype.age = age;     this.className = "Person";     //看一看这是什么     console.log(Person.__proto__); } //静态方法,类名就可调用 Person.prefix = function () {     return "hi "; } //...
2015/1/13 5:15:25翻牌: 4218临幸: 2
nodejs所有的异步I/O操作在完成时都会发送一个事件到事件队列。nodejs里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件, 一个fs.readStream对象会在文件被打开的时候发出一个事件。 所有这些产生事件的对象都是 events.EventEmitter 的实例。 你可以通过require("events");来访问该模块。下面我们用一个简单的例子说明 EventEmitter 的用法://event.js  var EventEmitter = require("events").EventEmitter;  var event =...
2015/3/2 9:28:10翻牌: 3680临幸: 0
    最近阿里服务器即将到期,后续要将博客放在bae上,首先要解决的就是图片的存储,百度云存储官方没有nodejs的sdk,自己根据rest api封装了一个nodejs版的sdk。后续使用这个sdk做一个ueditor的后台——ueditor-bcs。编辑博客时的图片直接存在bcs上。    开源地址https://github.com/longmenwaideyu/bcs-nodejs-sdk使用方法npm install bcs-nodejs-sdk var bcs = require("bcs-nodejs-sdk"); //详见test/test.js...
2015/3/7 5:36:54翻牌: 11284临幸: 41
使用方法1. 安装npm install ueditor-nodejs --save2. 到ueditor官网下载php版或者jsp版的ueditor,将ueditor放入public下,重命名文件夹为ueditor3. 将ueditor.config.js中的serverURL改为 URL + "ue"4. 注册后台var ueditor = require("ueditor-nodejs"); app.use("/ueditor/ue", ueditor({//这里的/ueditor/ue是因为文件件重命名为了ueditor,如果没改名,那么应该是/ueditor版本号/ue     ...