Rumah  >  Artikel  >  hujung hadapan web  >  Mari fahami perbezaan antara CJS & MJS

Mari fahami perbezaan antara CJS & MJS

WBOY
WBOYasal
2024-09-05 21:00:04620semak imbas

Let

Istilah CJS (CommonJS) dan MJS (Modul ES) merujuk kepada dua sistem modul yang digunakan dalam JavaScript untuk menyusun kod ke dalam komponen yang boleh digunakan semula . Berikut ialah perbandingan antara keduanya:

1. CommonJS (CJS)

  • Sintaks: Penggunaan CommonJS memerlukan() untuk memuatkan modul dan modul.eksport atau eksport untuk mengeksportnya.
  • Digunakan dalam: Ia adalah sistem modul yang digunakan terutamanya dalam Node.js sebelum pengenalan modul ES.
  • Pemuatan Segerak: Modul CommonJS dimuatkan segera, bermakna ia menyekat pelaksanaan sehingga modul dimuatkan. Ini sesuai untuk aplikasi sebelah pelayan tetapi kurang sesuai untuk kod sebelah klien yang lebih disukai memuatkan async.
  • Contoh:

     // Import
     const fs = require('fs');
    
     // Export
     module.exports = function () {
       console.log("Hello from CJS");
     };
    

2. Modul ES (MJS)

  • Sintaks: Modul ES menggunakan pernyataan import dan eksport.
  • Digunakan dalam: Persekitaran JavaScript moden, kedua-duanya dalam penyemak imbas dan Node.js (dengan sambungan .mjs atau menggunakan "type": "modul" dalam package.json).
  • Pemuatan Asynchronous: Modul ES tak segerak dimuatkan, yang lebih sesuai untuk persekitaran sebelah pelanggan.
  • Contoh:

     // Import
     import fs from 'fs';
    
     // Export
     export function greet() {
       console.log("Hello from MJS");
     }
    

Perbezaan Utama:

  1. Mekanisme Pemuatan:

    • CJS: Modul dimuatkan secara serentak.
    • MJS: Modul dimuatkan secara tidak segerak, yang menjadikannya tidak menyekat dan lebih cekap dalam senario tertentu (terutamanya dalam penyemak imbas).
  2. Sintaks:

    • CJS: Penggunaan require() dan module.exports.
    • MJS: Menggunakan import dan eksport.
  3. Keserasian:

    • CJS: Disokong secara meluas dalam Node.js, tetapi kurang serasi dengan penyemak imbas (tanpa pengikat).
    • MJS: Sokongan asli dalam penyemak imbas moden dan Node.js (dari versi 12+), sejajar dengan standard modul ES6.
  4. Eksport Lalai:

    • CJS: Boleh mengeksport objek atau fungsi secara langsung sebagai modul.
    • MJS: Menyokong kedua-dua eksport bernama dan lalai, membolehkan lebih fleksibiliti dalam mengeksport berbilang fungsi atau nilai.

Bila hendak digunakan:

  • CJS (CommonJS): Jika bekerja dengan projek Node.js lama atau perpustakaan sedia ada yang berdasarkan sistem modul CommonJS.
  • MJS (Modul ES): Apabila membina aplikasi moden, terutamanya untuk pembangunan sisi klien atau projek Node.js yang menyasarkan masa jalan moden.

Dalam pembangunan moden, Modul ES menjadi standard, tetapi banyak projek warisan masih bergantung pada CommonJS.

Atas ialah kandungan terperinci Mari fahami perbezaan antara CJS & MJS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn