溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

javascript中的AMD,CMD,Commonjs怎么用

發(fā)布時(shí)間:2022-05-11 11:13:04 來源:億速云 閱讀:197 作者:iii 欄目:大數(shù)據(jù)

本文小編為大家詳細(xì)介紹“javascript中的AMD,CMD,Commonjs怎么用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“javascript中的AMD,CMD,Commonjs怎么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

1、AMD

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

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

  1. require([module], callback)

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

即通過define來定義一個(gè)模塊,然后使用 require 來加載一個(gè)模塊。 并且,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在推廣過程中對(duì)模塊定義的規(guī)范化產(chǎn)出。CMD是同步模塊定義。

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

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

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

前端瀏覽器不支持,Nodejs中使用的是這個(gè)規(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)出模塊,功能較之于前幾個(gè)方案更為強(qiáng)大,也是我們所推崇的,但是由于ES6目前無法在瀏覽器中執(zhí)行,所以,我們只能通過babel將不被支持的import編譯為當(dāng)前受到廣泛支持的 require。

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

讀到這里,這篇“javascript中的AMD,CMD,Commonjs怎么用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI