javascript中AMD,CMD,Commonjs實例分析

這篇“javascript中AMD,CMD,Commonjs實例分析”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“javascript中AMD,CMD,Commonjs實例分析”文章吧。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比歙縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式歙縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋歙縣地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

1、AMD

AMD是RequireJS在推廣過程中對模塊定義的規(guī)范化產(chǎn)出,AMD規(guī)范則是非同步加載模塊,允許指定回調(diào)函數(shù)。

AMD標(biāo)準(zhǔn)中,定義了下面兩個API:

  1. require([module], callback)

  2. define(id, [depends], callback)

即通過define來定義一個模塊,然后使用 require 來加載一個模塊。 并且,require 還支持CommonJS 的模塊導(dǎo)出方式。

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在推廣過程中對模塊定義的規(guī)范化產(chǎn)出。CMD是同步模塊定義。

//所有模塊都通過define來定義
define(function(require, exports, module) {  
  // 通過require引入依賴
  var $ = require('jquery');
  var C = require('./c.js');
  exports.sayHi = ...
  module.exports = ...
})

二者的區(qū)別是前者是對于依賴的模塊提前執(zhí)行,而后者是延遲執(zhí)行。 前者推崇依賴前置,而后者推崇依賴就近,即只在需要用到某個模塊的時候再 require。

3、CommonJS 規(guī)范---module.exports

前端瀏覽器不支持,Nodejs中使用的是這個規(guī)范

exports.sum = function(a,b) {
   return a + b;
}
exports.count= function(arr) {
   return arr.length;
}

CommonJS的核心思想就是通過 require 方法來同步加載所要依賴的其他模塊,然后通過 exports 或者 module.exports 來導(dǎo)出需要暴露的接口。

4、ES6

在ES6中,我們可以使用 import 關(guān)鍵字引入模塊,通過 exprot 關(guān)鍵字導(dǎo)出模塊,功能較之于前幾個方案更為強大,也是我們所推崇的,但是由于ES6目前無法在瀏覽器中執(zhí)行,所以,我們只能通過babel將不被支持的import編譯為當(dāng)前受到廣泛支持的 require

import Home from './Home.vue'
export default {
   
}

以上就是關(guān)于“javascript中AMD,CMD,Commonjs實例分析”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:javascript中AMD,CMD,Commonjs實例分析
本文路徑:http://muchs.cn/article30/pdgcpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、品牌網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)用戶體驗、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管