nodejs
cheerio
可以使用jquery風格處理字符串
var cheerio = require('cheerio');
var $ = cheerio.load(html);
$('.article *').each(function(){
data += $(this).text();
});
observe.js
可以監(jiān)聽對象屬性,被監(jiān)聽的對象屬性發(fā)生變化時,會自動調用指定的回調函數。
superagent
可以發(fā)送網絡請求,獲得響應結果
var observe = require('observe.js');
var reptile = observe({});
reptile.on({
url: function(url) {
var that = this
//get方法發(fā)出請求,query方法為url添加query字段(url問號背后的)
//end方法接受回調參數,html一般在res.text中
superagent
.get(url)
.query(this.query)
.end(function(res) {
if (res.ok) {
alert(res.text);
}
}.bind(this))
},
});
//當賦值時,就會調用回調函數
reptile.url = 'http://segmentfault.com/blogs/recommend'
reptile.query = 'page=3'
fs
可以進行文件操作(不需要install)
var fs = require('fs');
var cwd = process.cwd();
if(!fs.existsSync('postList')){
fs.mkdirSync('postList');
}
javascript語法相關
Function.prototype.bind
可以試上下文注入到內部對象里,從而避免了var that = this的寫法,同時改變原生函數的變量和方法,下面就是從 Array.prototype中剽竊了 forEach 方法來完成遍歷。
var unboundForEach = Array.prototype.forEach,
forEach = Function.prototype.call.bind(unboundForEach);
forEach(document.querySelectorAll('.klasses'), function (el) {
el.addEventListener('click', someFunction);
});
trigger
可以用于觸發(fā)元素的事件,如果click,hover等,如:
div.trigger(“click”);
框架學習
其他
基于DOM模板框架。這類框架主要基于瀏覽器解析的DOM,用DOM,綁定數據,處理業(yè)務邏輯,以及改變DOM屬性。angularjs, knockoutjs, avalonjs都是屬于這類框架
基于字符串模板框架。這類框架主要用來解析字符串,使之形成瀏覽器能夠解析的HTML代碼。ejs、handlebar、jade屬于此類框架。
另外還有處于兩者之間的框架,Regularjs。