javascript中AMD,CMD,Commonjs和es6的區(qū)別是什么

本篇內(nèi)容介紹了“javascript中AMD,CMD,Commonjs和es6的區(qū)別是什么”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站服務(wù)項目包括南靖網(wǎng)站建設(shè)、南靖網(wǎng)站制作、南靖網(wǎng)頁制作以及南靖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,南靖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到南靖省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

隨著 JavaScript 代碼復(fù)雜度的提高,JavaScript模塊化這個概念便被提出來,前端社區(qū)也不斷地實現(xiàn)前端模塊化,直到 es6 對其進(jìn)行了規(guī)范,下面就介紹 JavaScript 模塊化。本文基于以下要點進(jìn)行展開

  1. 什么是AMD,CMD,CommonJS

  2. AMD,CMD,CommonJS 的區(qū)別

  3. 應(yīng)用項目中怎么使用

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---export/importhttp://www.fuke029.com/

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

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

“javascript中AMD,CMD,Commonjs和es6的區(qū)別是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

分享名稱:javascript中AMD,CMD,Commonjs和es6的區(qū)別是什么
網(wǎng)頁網(wǎng)址:http://bm7419.com/article32/pcipsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈全網(wǎng)營銷推廣、網(wǎng)站排名、App開發(fā)、動態(tài)網(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)

成都app開發(fā)公司