基礎工具包

1.lodashhtml

  http://lodashjs.com/docs/ 基礎工具包node

2.merge-descriptors正則表達式

   mixin的設計模式。json

3.escapeHtml 轉義字符串設計模式

var escapeHtml = require('escape-html')
console.log(escapeHtml("hello <"));  
//hello &lt;

 對一段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函數來解析。

相關文章
相關標籤/搜索