国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JS模塊化系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了JS模塊化系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

隨著 JavaScript 開發(fā)變得越來越廣泛,命名空間和依賴關(guān)系變得越來越難以處理。人們已經(jīng)開發(fā)出不同的解決方案以模塊系統(tǒng)的形式來解決這個問題。

CommonJS(CJS)

CommonJS 是一種同步加載模塊的規(guī)范,主要用于服務(wù)器端的 Node.js 環(huán)境。

// 模塊導(dǎo)出
module.exports = {
  // 模塊內(nèi)容
};

// 模塊導(dǎo)入
const module = require('module');

top:CommonJS 加載的是一個對象(即module.exports屬性),該對象只有在腳本運(yùn)行完才會生成。

AMD(Asynchronous Module Definition)

AMD 是一種_異步_加載模塊的規(guī)范,主要用于瀏覽器端的 JavaScript 開發(fā)。它允許模塊在加載完成后立即執(zhí)行,而不會阻塞頁面加載。

// 模塊定義
define(['dependency1', 'dependency2'], function (dependency1, dependency2) {
  // 模塊內(nèi)容
  return {
    // 模塊導(dǎo)出內(nèi)容
  };
});

// 模塊加載
require(['module'], function (module) {
  // 模塊加載完成后執(zhí)行的邏輯
});

UMD(Universal Module Definition)

UMD 是一種通用的模塊定義格式,旨在兼容 CommonJS、AMD 以及全局變量導(dǎo)出的方式。

實(shí)現(xiàn)原理為:先判斷是否支持node.js的模塊,存在就使用node.js;再判斷是否支持AMDdefine是否存在),存在則使用*
*AMD的方式加載。這就是所謂的UMD**。

(function (root, factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD
    define(['exports', 'module'], factory);
  } else if (typeof exports === 'object' && typeof module === 'object') {
    // CommonJS
    factory(exports, module);
  } else {
    // 瀏覽器環(huán)境下暴露到全局變量
    factory((root.myModule = {}), root.myModule);
  }
})(this, function (exports, module) {
  // 模塊內(nèi)容
});

UMD 實(shí)質(zhì)上創(chuàng)建了一種使用兩者之一的方法,同時還支持全局變量定義。因此,UMD 模塊能夠在客戶端和服務(wù)器上工作。

ESM(ES Module)

ESMECMAScript 官方提供的模塊標(biāo)準(zhǔn),支持異步加載,具有靜態(tài)導(dǎo)入和導(dǎo)出,使得代碼更具可靠性和可預(yù)測性。

// 模塊導(dǎo)出
export const module = {
  // 模塊內(nèi)容
};

// 模塊導(dǎo)入
import {module} from 'module';

概括

不同的模塊規(guī)范各有優(yōu)劣,選擇合適的規(guī)范取決于項(xiàng)目的需求和目標(biāo)平臺。文章來源地址http://www.zghlxwxcb.cn/news/detail-825408.html

  • CJS 為同步加載,主要用于服務(wù)器端編程,因?yàn)樵诜?wù)器端加載速度不太重要,而且同步加載更容易理解和管理。
  • AMD 為異步加載,適用于瀏覽器環(huán)境中的異步模塊加載,尤其是在 Web 應(yīng)用中采用模塊化開發(fā)時使用。
  • UMD 為通用形,通常用作 ESM 不起作用時的后備方案,適用于同時在瀏覽器和 Node.js 環(huán)境中使用的代碼,使得代碼具有更大的通用性。
  • ESM 適用于現(xiàn)代瀏覽器以及支持 ES6 模塊的 Node.js 版本,使得代碼更具可維護(hù)性和可移植性。

到了這里,關(guān)于JS模塊化系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Node.js開發(fā)、CommondJS 、ES-Module模塊化設(shè)計(jì)

    Node.js開發(fā)、CommondJS 、ES-Module模塊化設(shè)計(jì)

    目錄 ?Node.js是什么 基礎(chǔ)使用 Node的REPL 全局變量 ?模塊化設(shè)計(jì) CommondJS規(guī)范 ?基礎(chǔ)使用exports和module.exports require ?CommondJS優(yōu)缺點(diǎn) AMD和CMD規(guī)范 ES_Module ?基本使用方法 導(dǎo)出 導(dǎo)入 ?結(jié)合使用 默認(rèn)導(dǎo)出 ES Module解析流程 ?Node與瀏覽器的對比 ?在瀏覽器中,HTML與CSS交給Blink處理,如果其

    2023年04月21日
    瀏覽(31)
  • JavaScript模塊化

    JavaScript模塊化,讓我們通過一個實(shí)際的例子來更好地理解。 假設(shè)我們正在開發(fā)一個簡單的購物車應(yīng)用,需要實(shí)現(xiàn)計(jì)算商品總價(jià)和展示購物車列表的功能。我們可以將這個應(yīng)用劃分為兩個模塊:`cart.js`和`main.js`。 1. cart.js模塊: ```javascript // cart.js // 定義一個私有變量,用于存

    2024年02月14日
    瀏覽(41)
  • JavaScript中的模塊化編程

    JavaScript是一種強(qiáng)大的編程語言,它可以在瀏覽器中進(jìn)行客戶端腳本編寫,并且在服務(wù)器端也有廣泛的應(yīng)用。隨著JavaScript應(yīng)用的增多,JavaScript代碼的復(fù)雜度也不斷增加。為了提高代碼的可維護(hù)性和重用性,模塊化編程變得越來越重要。本文將討論JavaScript中的模塊化編程,包括

    2024年02月02日
    瀏覽(99)
  • JavaScript:模塊化【CommonJS與ES6】

    在 JavaScript 編程中,隨著項(xiàng)目的復(fù)雜性增加,代碼的組織和管理變得至關(guān)重要。模塊化是一種強(qiáng)大的編程概念,它允許我們將代碼劃分為獨(dú)立的模塊,提高了可維護(hù)性和可擴(kuò)展性。本文將詳細(xì)介紹 CommonJS 和 ES6 模塊,幫助你理解它們的特點(diǎn)和用法。 1. CommonJS 模塊化 CommonJS 是

    2024年02月13日
    瀏覽(92)
  • js 模塊化

    模塊化主要是用來抽離公共代碼,隔離作用域,避免變量沖突等。 模塊化的整個發(fā)展歷史如下: IIFE :使用自執(zhí)行函數(shù)來編寫模塊化,特點(diǎn):在一個單獨(dú)的函數(shù)作用域中執(zhí)行代碼,避免代碼沖突。 AMD :使用 require 來編寫模塊化,特點(diǎn):依賴必須提前聲明好。 CMD :使用 seaJS

    2024年02月14日
    瀏覽(19)
  • 【前端模塊化】JS模塊化思想以及相關(guān)規(guī)范(CommonJS、ES module)

    1.模塊化概念 隨著前端應(yīng)用日趨復(fù)雜,項(xiàng)目代碼也大量膨脹,模塊化就是一種最主流的代碼組織方式, 一個模塊就是一個實(shí)現(xiàn)特定功能的文件 ,它通過把我們的復(fù)雜代碼按照功能的不同,劃分為不同的模塊單獨(dú)維護(hù)的這種方式,去提高我們的開發(fā)效率,降低維護(hù)成本。要用

    2024年02月01日
    瀏覽(42)
  • Node.js模塊化

    說明:將復(fù)雜的程序文件,拆分多個文件的過程。模塊的內(nèi)部數(shù)據(jù)是私有的,不過模塊可以暴露內(nèi)部數(shù)據(jù)供其他模塊使用。 說明:編碼時是按照模塊一個一個編碼的,整個項(xiàng)目就是一個模塊化的項(xiàng)目。 3.模塊化的優(yōu)勢 說明: 提高代碼的復(fù)用性:模塊化可以將代碼分解為可重

    2024年02月12日
    瀏覽(20)
  • Node.js--模塊化

    1.1 什么是模塊化與模塊 將一個復(fù)雜的程序文件依據(jù)一定規(guī)則(規(guī)范)拆分成多個文件的過程稱之為 模塊化 其中拆分出的 每個文件就是一個模塊 ,模塊的內(nèi)部數(shù)據(jù)都是私有的,不過模塊可以暴露內(nèi)部數(shù)據(jù)以便其他模塊使用 1.2 什么是模塊化項(xiàng)目 編碼時是按照模塊一個一個編碼

    2024年02月16日
    瀏覽(45)
  • 【node.js】04-模塊化

    【node.js】04-模塊化

    目錄 一、什么是模塊化 二、node.js中的模塊化 1. node.js中模塊的分類 2. 加載模塊 3.?node.js 中的模塊作用域 4.?向外共享模塊作用域中的成員 4.1 module對象? 4.2?module.exports 對象 4.3 exports對象 5.?node.js 中的模塊化規(guī)范? ????????模塊化是指解決一個復(fù)雜問題時,自頂向下逐層

    2024年02月15日
    瀏覽(24)
  • (三)Node.js - 模塊化

    (三)Node.js - 模塊化

    Node.js中根據(jù)模塊來源不同,將模塊分為了3大類,分別是: 內(nèi)置模塊 :內(nèi)置模塊由Node.js官方提供的,例如fs、path、http等 自定義模塊 :用戶創(chuàng)建的每個.js文件,都是自定義模塊 第三方模塊 :由第三方開發(fā)出來的模塊,并非官方提供的內(nèi)置模塊,也不是用戶創(chuàng)建的自定義模塊

    2024年02月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包