-
node.org查看全部
-
查看全部
-
http知識九
查看全部 -
http知識八
查看全部 -
http知識七
查看全部 -
http知識六
查看全部 -
http知識
查看全部 -
node自帶
querystring.stringify(a,b,c) 將json類型的參數轉換成字符串
a:json參數 b:鍵值對分隔符 c:鍵值分隔符 ?querystring.stringify( {name:'echo', course:['jade','node'],form:''}, ',',':'); 運行結果: 'name:echo,course:jade, course:node,form:'
querystring.parse(a,b,c)將字符 串參數轉換成json類型 注:參數和上處方法類似
查看全部 -
url.parse(a,b,c)接受三個參數
a:一個網址
結果如下:
Url {
? protocol: 'http:',
? slashes: true,
? auth: null,
? host: 'imooc.com',
? port: null,
? hostname: 'imooc.com',
? hash: null,
? search: '?from=echo&num=1',
? query: 'from=echo&num=1',
? pathname: '/course/list',
? path: '/course/list?from=echo&num=1',
? href: 'http://imooc.com/course/list?from=echo&num=1' }
>?
b:布爾值,默認為false,為true時,可將query解析成json對象
結果如下:
Url {
? protocol: 'http:',
? slashes: true,
? auth: null,
? host: 'imooc.com',
? port: null,
? hostname: 'imooc.com',
? hash: null,
? search: '?from=echo&num=1',
? query: { from: 'echo', num: '1' },
? pathname: '/course/list',
? path: '/course/list?from=echo&num=1',
? href: 'http://imooc.com/course/list?from=echo&num=1' }
c:默認為false,為true時,可解析不知協議的URL
如:
url.parse('//imooc.com/course/list',true,true)
結果如下:
Url {
? protocol: null,
? slashes: true,
? auth: null,
? host: 'imooc.com',
? port: null,
? hostname: 'imooc.com',
? hash: null,
? search: null,
? query: {},
? pathname: '/course/list',
? path: '/course/list',
? href: '//imooc.com/course/list' }
查看全部 -
模塊的流程
查看全部 -
模塊的分類
查看全部 -
@url網址解析:
【url與uri】
>uri:Uniform?Resource Identifier,統一資源標識符,字符串格式規范
>url:Uniform Resource Locator,統一資源定位符
url是uri的子集,url肯定是uri,uri不一定是url。
【parse format reslove】
>url.parse():將url字符串轉化為url對象
eg:url.parse('http://www.xianlaiwan.cn:8080/video/6710?from=scott&course=node#floor1')
url.parse('//imooc.com/video/6710/0',true,true)--第一個true時,query被轉換為一個對象?
url.parse('http://www.xianlaiwan.cn:8080/video/6710?from=scott&course=node#floor1')??????????????==> ?query:?'from=scott&course=node',??==>?query:?{?from:?'scott',?course:?'node'?},
>url.format():將url對象格式化為url字符串
eg:url.format({protocol: 'https:',})
>url.resolve():用于解析,接受兩個參數拼接
eg:url.resolve('http://www.xianlaiwan.cn/','/video/6710/0')Url?{ ??protocol:?'https:',??//協議 ??slashes:?true,??//是否有協議的雙斜線 ??auth:?null,? ??host:?'www.xianlaiwan.cn',??//服務器iip地址? ??port:?null,?//端口 ??hostname:?'www.xianlaiwan.cn', ??hash:?null,??//哈希值 ??search:?null,?//查詢字符串參數 ??query:?null,??//發送給服務器的數據 ??pathname:?'/video/6710/0', ??path:?'/video/6710/0',? ??href:?'http://www.xianlaiwan.cn/video/6710/0'?}
查看全部 -
nodejs實現高并發、大規模的運行特性
nodejs.api文檔中文版http://nodejs.cn/api/
查看全部 -
@模塊分類:
>核心模塊:http fs path..
>文件/本地模塊:var util=require('./util.js')
>npm第三方模塊:var promise=require('bluebird')
模塊的引用>>路徑引用 模塊名引用(最終也會被映射為路徑)
包含核心函數的核心模塊會在node啟動時被預先加載,非核心及第三方模塊在之后加載
NodeJs文件和模塊一對一對應關系
查看全部 -
CommonJs規范可參考:http://javascript.ruanyifeng.com/nodejs/module.html
@模塊與包管理工具
js的天生缺陷——缺少模塊化管理機制
·表現>> JS中容易出現變量被覆蓋,方法被替代的情況(既被污染)。特別是存在依賴關系時,容易出現錯誤。這是因為JS缺少模塊管理機制,來隔離實現各種不同功能的JS判斷,避免它們相互污染。
·解決>> 經常采用命名空間的方式,把變量和函數限制在某個特定的作用域內,人肉約定一套命名規范來限制代碼,保證代碼安全運行。jQuery中有許多變量和方法,但是無法直接訪問,必須通過jQuery,$調用 各個方法。
【Commonjs規范】
不同于jQuery,Commonjs是一套規范,約定了js如何組織,如何編寫,包括包,二進制,套接字,單元測試等等。大部分標準在擬定和討論之中,首先把執行不同任務的代碼塊和代碼文件看為獨立的模塊,每一個模塊都是一個單獨的作用域,但不是孤立的,可能存在依賴關系。每個模塊分為三個部分,定義、標識和引用。這套規范與現實產品如node.js相互影響,良性循環。
【NodeJs的模塊管理機制】
基于commonjs實現了模塊管理系統。node中每一個js文件都是一個獨立的模塊,在其內部不需要有命名空間,不需要擔心變量的污染和方法定義時的隔離。同時模塊之間可以組合形成更強大的模塊或功能包。npm即是用來管理各種功能包的。?查看全部
舉報