ES Modules (ESM)
export const fn = () => {} | Named export |
export default class {} | Default export |
import { fn } from './mod.js' | Named import |
import mod from './mod.js' | Default import |
import('./mod.js').then(m => m.fn()) | Dynamic import (lazy) |
CommonJS (Node.js)
module.exports = { fn } | Export |
exports.fn = fn | Named export shorthand |
const { fn } = require('./mod') | Destructured require |
const mod = require('./mod') | Import module |
Interop
import mod from './cjs.js' | ESM importing CJS default |
createRequire(import.meta.url) | CJS require in ESM context |
package.json: type: module | Enable ESM in Node.js |