“SyntaxError: Cannot use import statements Outside a module”解释和解决
在 Node.js 项目中,错误“SyntaxError: Cannot在模块外部使用 import 语句”表示在未被识别为 ES 模块的文件中使用了 import 语句。升级到较新版本的 Babel 或 Node.js 时,通常会出现此问题。
了解问题
在 Babel 7 中,默认行为是使用以下命令解释文件.js 扩展名作为 CommonJS 模块。另一方面,ES 模块需要在最近的 package.json 文件中将“type”字段设置为“module”,或者使用 .mjs 扩展名进行显式命名。
解决错误
有两个选项可以解决此错误:
选项 1:将“type”设置为“module”在 package.json
将以下“type”字段添加到您的 package.json 文件中:
// package.json { "type": "module" }
这会将所有 .js 和 .mjs 文件解释为 ES 模块,而单个文件仍然可以通过使用 .cjs 扩展名被解释为 CommonJS。
选项 2:显式使用.mjs 扩展名
显式命名应被视为具有 .mjs 扩展名的 ES 模块的文件。默认情况下,所有其他带有 .js 扩展名的文件将被解释为 CommonJS。
其他注意事项
以上是为什么我在 Node.js 中收到'语法错误:无法在模块外使用 import 语句”?的详细内容。更多信息请关注PHP中文网其他相关文章!