2016年1月7日 星期四

[開發]CommonJS & AMD & ES6

簡介:
只是一種標準,
這個標準的基本原則如下:
  1. 一個檔案就是一個模組 (module)
  2. module 包含以下三個變數
    1. module : 物件 module 本身
    2. require :  函數 用以載入相依的模組
    3. export :  物件 用以揭示模組對外的API
  3. 不被export的資訊將被包在模組的scope底下,以保持全域的清淨。
因為Javascript 原始設計是base-on browser ,
隨著Javascript發展,
Server Side 的js Engine 引擎如雨後春筍冒出 ( rhino、v8、 Spidermonkey and JavaScriptCore),
大型的專案所需要的模組載入功能
Javascript(ECMA-262) 卻未提供,苦無統一的標準,
CommonJSAMD 因而誕生,用於載入模組,
ES6 的標準將會補足這一塊。


CommonJS 與 AMD 最大的差異點在於,
同步載入與異步載入,造成此點最大的差異在於使用的環境,
CommonJS的使用情境為Server (ex: nodejs),
模組都位在同一系統下,不會有非同步載入的情境發生,
AMD針對Browser的使用情境,需要透過http取得模組,
所以會有非同步的情境,
Requirejs 是實作AMD的一個Lib。



參考資料:

[[[本誌僅為個人分享與記錄,不保証內容永久正確性,如有謬誤、疏漏或侵權還請留言告知]]]

沒有留言:

張貼留言