esm cjs 的 import 和 require 总结

技术分享 2024-06-06 21:52:44

esm(ECMAScript Modules) 和 cjs(CommonJS)  没有语法区别只有模块导入导出的差异。

nodejs 创立 require ,浏览器是

考虑nodejs 浏览器等历史因素,成因复杂,没有必要较真,掌握用法就行。


esm 导出:
export const a = 0
export default 0
//export const default = 0
cjs 导出:
module.exports.a = 0
module.exports.default = 0

esm 导入:
import a, { b } from "m"  //静态导出
//import { default as a, b } from "m"

const {default:myM} =await import('m')  //动态载入
cjs 导入:
const { default: a, b } = require("m")

esm 导入整个模块:
import * as m from "m"

cjs 导入整个模块:
const m = require("m")

咨询小瓶科技
咨询我们
顶部