CommonJS與ES六、AMD、CMD比較

Javascript,javascript是一種腳本編程語言,有本身獨立的語法與語義,沒有javascript,也就沒有其餘的那些概念了。javascript

關於ES6,可直接理解爲javascript的加強版(增長了新的規範、特性與功能)或最新版,二者之間雖然略有差別,但也能夠忽略(不要在乎這些細節,呵呵),就有點相似於JAVA8與JAVA語言的關係,一樣既然有ES6,那麼也還有ES 5與ES 3,都是Javascript在發展過程當中的發佈版本。java

Commonjs、AMD以及曾經很火的CMD都只是爲了解決javascript文件之間的依賴與引用問題,因此它們只是一種Javascript的包管理規範。在組織你的JS代碼時,你徹底能夠根據本身的喜愛,選擇合適的包管理規範,但要注意,儘量只選擇一種。node

在nodejs出現以前,javascript主要應用於瀏覽器端,因此nodejs也很好理解了,nodejs是對javascript脫離瀏覽器的應用延展,它還提供了運行引擎與相關API,因此nodejs是javascript開發本地應用、服務器應用的一個開發套件,注意了,由於nodejs採用了javascript的語法,因此nodejs不是一種開發語言。es6

做者:http://blog.csdn.net/yiifaa/article/details/54376458編程

 

 

 

es6 {瀏覽器

  export   :      '能夠輸出多個,輸出方式爲 {}' ,服務器

  export  default : ' 只能輸出一個 ,能夠與export 同時輸出,可是不建議這麼作',yii

  解析階段肯定對外輸出的接口,解析階段生成接口,編程語言

  模塊不是對象,加載的不是對象,this

  能夠單獨加載其中的某個接口(方法),

  靜態分析,動態引用,輸出的是值的引用,值改變,引用也改變,即原來模塊中的值改變則該加載的值也改變,

  this 指向undefined

}

commonJS {

  module.exports =  ...   :      '只能輸出一個,且後面的會覆蓋上面的' ,

  exports. ...  : ' 能夠輸出多個',

  運行階段肯定接口,運行時纔會加載模塊,

  模塊是對象,加載的是該對象,

  加載的是整個模塊,即將全部的接口所有加載進來,

  輸出是值的拷貝,即原來模塊中的值改變不會影響已經加載的該值,

  this 指向當前模塊

}

相關文章
相關標籤/搜索