Node CJS与ESM相关问题
-
在Node环境中执行倒
import xx from xx模块时报错 “Uncaught SyntaxError: Unexpected identifier” ,是因为执行的node版本过低,不支持ESM语法,在v13.2.0以前,Node只支持CJS -
Node升级后运行import xx from xx依然报相关错误 “SyntaxError: Cannot use import statement outside a module”,是因为默认情况下,Node不支持以.js扩展名结尾的内部文件的导入和导出。可以将文件后缀设为.mjs,让其支持ESM,或者修改package.json文件使其包含 "type":"module"
tip: Node在v16版本后才默认支持ESM,在v16之前v13.2.0之后需要使用--experimental-modules选项来激活