# 為什么模塊化
在計算機程序的開發過程中,隨著程序代碼越寫越多,在一個文件里代碼就會越來越長,越來越不容易維護。為了編寫可維護的代碼,我們把很多函數分組,分別放到不同的文件里,這樣,每個文件包含的代碼就相對較少,很多編程語言都采用這種組織代碼的方式。
使用模塊有什么好處:
* 最大的好處是大大提高了代碼的可維護性。其次,編寫代碼不必從零開始。當一個模塊編寫完畢,就可以被其他地方引用。我們在編寫程序的時候,也經常引用其他模塊,包括 Node.js 內置的模塊和來自第三方的模塊。
* 使用模塊還可以避免函數名和變量名沖突。相同名字的函數和變量完全可以分別存在不同的模塊中,因此,我們自己在編寫模塊時,不必考慮名字會與其他模塊沖突。
# 什么是模塊化
在 JavaScript 領域:
* 模塊是一段 JavaScript 代碼,具有統一的基本書寫格式。
* 模塊之間通過基本交互規則,能彼此引用,協同工作。
# 模塊化規范
對書寫格式和交互規則的詳細描述,就是模塊定義規范(Module Definition Specification):
* AMD 規范: Require.js 前端模塊化
* CMD 規范: Sea.js 前端模塊化
* CommonJS 的 Modules 規范: Node.js 后端模塊化規范
* ES6 模塊化規范
# 模塊
模塊是 Node.js 應用程序的基本組成部分,文件和模塊是一一對應的。換言之,一個 Node.js 文件就是一個模塊,這個文件可能是 JavaScript 代碼、JSON 或者編譯過的 C/C++ 擴展。
在 Node.js 中,當每個 JavaScript 文件在執行或被 require 的時候,Node.js 其實創建了一個新的實例 var module = new Module(),這個實例名叫 module。這也就是為什么你并沒有定義 module 這個變量,卻能 console.log 出來而不會報錯的原因。而這個實例中有個 exports 屬性默認是空對象,而這個屬性的里面值就是該模塊被導出的的東西。其他模塊要使用這些導出的東西,就得使用 require 導入。
- NodeJs
- 01-萬維網
- 02-CS 架構 VS BS 架構
- 03-Web 服務器訪問流程
- 04-url
- 05-網絡傳輸協議
- 06-HTTP 協議
- 07-報文
- 08-命令行界面
- 09-什么是 Node.js
- 10-環境安裝及配置
- 11-JavaScript 代碼運行環境
- 12-全局對象
- 13-Buffer
- 14-模塊化
- 15-EventEmitter
- 16-path模塊
- 17-流式操作
- 18-包
- 19-模板技術
- 20-ejs入門
- 21-express
- 01-什么是express
- 02-Hellow Express
- 03-靜態資源服務
- 04-路由
- 05-模塊化路由處理程序
- 06-中間件
- 07-手動實現中間件
- 08-常用內置中間件和第三方中間件
- 09-響應
- 10-獲取請求參數
- 11-Express 中使用模板引擎
- 22-web存儲與安全
- 01-cookie
- 02-sessionStorage
- 03-localStorage
- 04-base64
- 05-https
- 06-同源策略