NodeJS 中,目前有两种标准的模块引入模式,一种是旧的 CommonJS(CJS),另外一种是现代的 ESModule(ESM)。
有的时候,我们不得不混用这两种引入模式(一些第三方库仅支持 ESM),这时候就会产生一些坑,比如如果尝试 require(CJS)一个 ESM 文件时,就会报错。
这篇文章主要是我对这两种模块引入方式一些坑的一些总结。
NodeJS 中,目前有两种标准的模块引入模式,一种是旧的 CommonJS(CJS),另外一种是现代的 ESModule(ESM)。
有的时候,我们不得不混用这两种引入模式(一些第三方库仅支持 ESM),这时候就会产生一些坑,比如如果尝试 require(CJS)一个 ESM 文件时,就会报错。
这篇文章主要是我对这两种模块引入方式一些坑的一些总结。