您好,登錄后才能下訂單哦!
這篇文章主要介紹“javascript中AMD,CMD,Commonjs和es6的區別有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“javascript中AMD,CMD,Commonjs和es6的區別有哪些”文章能幫助大家解決問題。
1、AMD
AMD是RequireJS在推廣過程中對模塊定義的規范化產出,AMD規范則是非同步加載模塊,允許指定回調函數。
AMD標準中,定義了下面兩個API:
require([module], callback)
define(id, [depends], callback)
即通過define來定義一個模塊,然后使用 require 來加載一個模塊。 并且,require 還支持CommonJS 的模塊導出方式。
a.js define(['package/b',...], function(b) { function func1 () { b.sayHi('hello world'); } return { func1: func1 } }); require(['a'], function(a) { a.func1() })
2、CMD
CMD是SeaJS在推廣過程中對模塊定義的規范化產出。CMD是同步模塊定義。
//所有模塊都通過define來定義 define(function(require, exports, module) { // 通過require引入依賴 var $ = require('jquery'); var C = require('./c.js'); exports.sayHi = ... module.exports = ... })
二者的區別是前者是對于依賴的模塊提前執行,而后者是延遲執行。 前者推崇依賴前置,而后者推崇依賴就近,即只在需要用到某個模塊的時候再 require。
3、CommonJS 規范---module.exports
前端瀏覽器不支持,Nodejs中使用的是這個規范
exports.sum = function(a,b) { return a + b; } exports.count= function(arr) { return arr.length; }
CommonJS的核心思想就是通過 require 方法來同步加載所要依賴的其他模塊,然后通過 exports 或者 module.exports 來導出需要暴露的接口。
4、ES6---export/importhttp://www.fuke029.com/
在ES6中,我們可以使用 import 關鍵字引入模塊,通過 exprot 關鍵字導出模塊,功能較之于前幾個方案更為強大,也是我們所推崇的,但是由于ES6目前無法在瀏覽器中執行,所以,我們只能通過babel將不被支持的import編譯為當前受到廣泛支持的 require。
import Home from './Home.vue' export default { }
關于“javascript中AMD,CMD,Commonjs和es6的區別有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。