1.lodashhtml
http://lodashjs.com/docs/ 基礎工具包node
2.merge-descriptors正則表達式
mixin的設計模式。json
3.escapeHtml 轉義字符串設計模式
var escapeHtml = require('escape-html') console.log(escapeHtml("hello <")); //hello <
對一段html代碼進行轉碼,避免xss漏洞。api
4.query string數據結構
在get請求中,把一個對象轉換成URL中的請求參數字符串:xss
var requestOptions = { hostname:"api.twitter.com", port:443, method:'GET', url:'/1.1/statuses/oembed.json?'+querystring.stringify(options), headers:{ 'Authorization':'Bearer' +accessToken } }
5.打印循環引用的JSON數據結構函數
var util = require("util"); /* req爲一個很龐大的數據結構, req.params爲undefined; req.baseUrl爲undefined; depth:null沒有層級,所有打印! */ console.log(req); console.log("req="+util.inspect(req.params,{depth:null}) ); console.log("req="+util.inspect(req.baseUrl,{depth:null}) );
6.parseUrl工具
提供parseUrl方法和originalurl成員。先看nodejs中url包的parse函數用法:
var urlstr="https://www.baidu.com/s?wd=nodejs+api&tn=98012088_5_dg&ch=11"; var url = require('url') var parse = url.parse /* Url { protocol: 'https:', slashes: true, auth: null, host: 'www.baidu.com', port: null, hostname: 'www.baidu.com', hash: null, search: '?wd=nodejs+api&tn=98012088_5_dg&ch=11', query: 'wd=nodejs+api&tn=98012088_5_dg&ch=11', pathname: '/s', path: '/s?wd=nodejs+api&tn=98012088_5_dg&ch=11', href: 'https://www.baidu.com/s?wd=nodejs+api&tn=98012088_5_dg&ch=11' } */ console.log(parse(urlstr));
在parseUrl源碼中的fastparse(str)中的首先是用正則表達式來解析url,若是解析成功;則返回解析結果,不然經過url包的parse函數來解析。