think.js/cnpm/做用域/回調函數/事件編程

##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安裝包的時候 自動建立這個文件夾編程

## 控制檯輸出數組

  1. NodeJS控制檯

console對象表明控制檯與Chrome中的控制檯同樣,不過Node中的控制檯輸出至CMD窗口Node.js中,能夠經過console對象的各類方法向控制檯中輸出內容。瀏覽器

 

//普通輸出
console.log("hello yaoxin");
//錯誤輸出
console.error("錯誤消息");
//time(flag) timeEnd(flag) 統計一段代碼的執行時間,注意timetimeEndflag需一致
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 打印監聽的函數數組模塊化

 

  1. CNPM

在咱們中國,要下載 npm 包很是慢,若是使用 cnpm 下載包就很是快了。函數

 

CNPMtaobao提供的一個完整 npmjs.org 鏡像,cnpmnpm的內容每10分鐘會同步一次。

 

安裝cnpm:

npm install -g cnpm --registry=https://registry.npm.taobao.org

 

使用cnpm:

cnpm install <模塊名>

相關文章
相關標籤/搜索