##node環境安裝 注意:不要去更改安裝的路徑
##什麼是包? 複雜一些文檔的集合
##npm 包管理器(命令行))
npm 安裝 命令 npm install 給包名稱 -g(全局安裝) 最經常使用
npm init 項目的初始化
npm -v
npm adduser 添加用戶信息
npm publish 發佈一個包
## 模塊 --> 每一個文件都是一個模塊node
## 瀏覽器端模塊化和 服務器端模塊 區別:
1 瀏覽器端沒有自帶模塊化的功能 若是要把瀏覽器端代碼寫成模塊化 首先引入requiejs 框架 還要去按照requiejs的
規則來寫 a define()定義模塊 b requiejs 使用模塊
2 node裏面的模塊 自帶模塊功能 任何一個文件都是一個模塊 因此不用去definenpm
注意:node_modules 默認放node的包 在項目中若是沒有 經過npm安裝包的時候 自動建立這個文件夾編程
## 控制檯輸出數組
console對象表明控制檯與Chrome中的控制檯同樣,不過Node中的控制檯輸出至CMD窗口。Node.js中,能夠經過console對象的各類方法向控制檯中輸出內容。瀏覽器
//普通輸出
console.log("hello yaoxin");
//錯誤輸出
console.error("錯誤消息");
//time(flag) 與 timeEnd(flag) 統計一段代碼的執行時間,注意time、timeEnd的flag需一致
console.time("t1");
for(var i=0;i<1000;i++){
console.log("hehe");
}
console.timeEnd("t1");服務器
## node 做用域 每個文件就是一個模塊 每一個模塊都是一個獨立的
注意:全局做用域 global 不要用 (由於模塊化就是爲了避免互相影響) 在模塊內部 做用域鏈 函數內部要一層一層的由內往外找變量
;(function($){})(jQuery)框架
## 回調函數 能夠做爲參數傳遞
1 是一個最普通的函數
2 能夠做爲參數傳遞 *****
3 等到某人某件事幹完了 再來調用 綁定事件 異步
## 事件編程
一個高性能的服務器應該有兩個特色: 1 事件驅動 2 非阻塞I/O(異步)
事件:發生某件事 911事件 918事件
事件綁定: 當某件事情發生 對應採起的措施
node 模塊化
## 事件模塊上的一些方法
1 on addListener 綁定事件
2 emit 觸發事件
3 once 用once綁定的事件只能觸發一次
4 removeAllListeners 移出全部的事件
5 removeListener 移除某個事件
6 setMaxListeners(n)
7 listeners 打印監聽的函數數組模塊化
在咱們中國,要下載 npm 包很是慢,若是使用 cnpm 下載包就很是快了。函數
CNPM是taobao提供的一個完整 npmjs.org 鏡像,cnpm與npm的內容每10分鐘會同步一次。
安裝cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
使用cnpm:
cnpm install <模塊名>