Node.js是一個Javascript運行環境(runtime),發佈於2009年5月,由Ryan Dahl開發,實質是對Chrome V8引擎進行了封裝。Node.js對一些特殊用例進行優化,提供替代的API,使得V8在非瀏覽器環境下運行得更好。
why?
1.性能 2. js配合緊密 , 3.便於前端學習 安裝
1.preparing:
2.node--服務器
http協議
request 請求 輸入-請求信息
response 相應 輸出-瀏覽器信息
3.fs
異步vs同步
readFile(文件名, callback(err, data))
writeFile(文件名, 內容, callback)
請求 數據
get <32k
post 1G
4.GET數據解析
1.querystring 返回json .parse(‘a=1&b=2’)
2.url 返回json urlLib = url.parse(user?id=2&name=a’, true) query/pathname
3.本身切
5.POST 數據解析
很大--分段
- data --有一段數據到達(n)
- end --數據所有到達(一次)
6. 實例http/fs/get/post
用戶登陸、註冊
接口:
/user?act=reg&user=aaa&pass=123456
{「ok」: false, 「msg」: 「緣由」}
/user?act=login&user=aaa&pass=123456
{「ok」: true, 「msg」: 「緣由」}
==================================================================
//對文件訪問 html/js/jpg
// 對接口訪問
7. 模塊化:
getserver
Crypto 加密
Events 事件
Net 網絡操做
OS 操做系統信息
Path 處理文件路徑
Stream 流操做
Timers 定時器 interval settimeout
Zip 壓縮
Util工具 VM虛擬機
Require 使用, 引入系統模塊;
------------------------------------------------------------------------------------------------------
A . 模塊組成
B. Npm
C. 發佈本身的模塊
// require —引入其餘模塊
// module - 批量輸出
// exports - 單個對外輸出
注意:
nodejs,引入本身的模塊,路徑加「./」;.js可省略;沒有全局變量,自動包起來(function(require, expots, module){})();
True, module.exports = exports;
npm:包管理器
- 統一下載途徑
- 自動下載依賴
Npm install xx 安裝
Npm uninstall xx 卸載
Node_modules ———放模塊
require 1.如有’./’, 從當前模塊找
- 沒有,先從系統模塊;再從Node_modules找
注意: 自定義模塊統一放到Node_modules裏
Npm註冊賬號,
npm login
npm whoami
建立者:
npm init
發佈:登陸查詢npm無重名包,npm publish, 再次發佈注意更改版本號
刪除: npm —force unpublish
(24小時內,不然郵箱申請刪除)
使用者:
下載: npm install xx
更新:npm update xx
node 初學
http://www.cnblogs.com/alice-fee/p/6159615.html