首页 > web前端 > js教程 > 为什么我在 Node.js 中收到'SyntaxError: Unexpected token import”?

为什么我在 Node.js 中收到'SyntaxError: Unexpected token import”?

Linda Hamilton
发布: 2024-12-19 04:41:53
原创
535 人浏览过

Why Am I Getting a

Node.js:了解意外的令牌导入错误

在 Node.js 中,通常会遇到错误“SyntaxError: Unexpected token import”表示您正在尝试在不受支持的环境中使用导入语法。

导入语法是 ES6 (ECMAScript 2015) 的一项功能,允许您导入模块。不过,在 Node.js 中,随着不同版本的发布,已经逐渐引入了对 ES6 模块导入的支持。

Node.js 版本中对 ES6 模块的支持

  • 节点 13 : 通过 import 导入模块是稳定且完全支持的。您可以使用 .mjs 文件或在 package.json 文件中设置 "type": "module"。
  • Node 12: 与 Node 13 类似,您可以使用 .mjs 文件导入模块或者在 package.json 中使用 "type": "module"。但是,您需要使用 --experimental-modules 标志运行 Node。
  • Node 9: 在 Node 9 中,模块导入仍处于实验阶段,需要使用 .mjs 文件和--experimental-modules 标志。

在 Node 13 之前,ES6 模块导入是不支持

在 Node.js 13 之前的版本中,导入语法本身不受支持。因此,如果您在早期版本中遇到此错误,那是因为您尝试使用运行时环境不支持的 JavaScript 构造。

回退到经典 Require 语句

要解决此问题,您需要恢复使用经典的 require 语句来在不支持导入的 Node.js 版本中导入模块。例如:

const express = require("express");
登录后复制

使用 Babel 实现 ES6/7 功能

如果你想在 Node.js 中使用 ES6/7 功能,你可以编译你的代码使用巴别塔。 Babel 是一个 JavaScript 转译器,可将较新的 JavaScript 语法转换为与旧环境兼容的代码。这是使用 Babel 编译服务器的示例:

npm install --save-dev babel-cli babel-preset-env
npx babel-node script.js
登录后复制

以上是为什么我在 Node.js 中收到'SyntaxError: Unexpected token import”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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