SyntaxError: Cannot use import statement outside a module

Node 生态包含两个不同的模块系统,ESM(ECMAScript 模块)和 CommonJS。两个模块系统彼此不兼容

其是“SyntaxError:无法在模块外部使用 import 语句”错误

错误“SyntaxError:无法在模块外部使用 import 语句”是由于您尝试导入的文件正在使用 ESM 模块系统,而您尝试将其导入到的文件正在使用 CommonJS 模块而导致的系统

例如:

import fs from "fs";
import {parse} from "@babel/parser";

ESM 使用import和export关键字分别包含其他模块中的代码并使其可用。CommonJS 使用require()函数包含其他模块的代码,并使用module.exports对象使代码可供其他模块使用。

要解决此问题,您必须

1.继续使用 CommonJS 模块系统并使用关键字require

2.或者将整个项目转换为使用 ESM 模块系统并使用关键字import

当然也可以Node 项目转换为使用 ESM 模块系统,打开文件package.json并添加以下属性

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值