Skip to main content

# JS Extension - Import/Export Module

## 1. IIFE (Immediately Invoked Function Expression)​

- Kỹ thuật khai báo module cho JS thuần (ES5 trở về trước)

## 2. CJS (CommonJS)​

- Cú pháp khai báo module được sử dụng dưới back-end (phổ biến nhất là NodeJS) Các module được import một cách đồng bộ

## 3. AMD (Asynchronous Module Definition)​

- Cú pháp khai báo module được sử dụng trên front-end (thông qua bộ loader phổ biến là RequireJS) Các module được import một cách bất đồng bộ

## 4. UMD (Universal Module Definition)​

- Kỹ thuật kết hợp nhiều cú pháp khai báo module Tương thích với front-end lẫn back-end Cú pháp tương đối phức tạp

## 5. ESM (ECMAScript Modules)​

- Cú pháp khai báo module được chuẩn hóa, hỗ trợ trực tiếp bởi JS thuần (ES6 trở về sau) Tương thích với front-end lẫn back-end Cú pháp đơn giản nhưng đa dạng, linh động hơn