首页 > web前端 > js教程 > 为什么我在 Node.js 中收到'语法错误:无法在模块外使用 import 语句”?

为什么我在 Node.js 中收到'语法错误:无法在模块外使用 import 语句”?

DDD
发布: 2024-12-05 03:30:13
原创
455 人浏览过

Why Am I Getting a

“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 (推荐13.2.0)。
  • 如果您之前使用过Babel 6,则需要更新预设以避免进一步的错误。
  • 在整个项目中一致使用 ES 模块或 CommonJS 模块以保持兼容性非常重要。

以上是为什么我在 Node.js 中收到'语法错误:无法在模块外使用 import 语句”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板