You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在同一Node.js文件中同时使用require和import语句

解决方案

你遇到的SyntaxError: Cannot use import statement outside a module报错,是因为未配置"type": "module"时Node默认按CommonJS规范解析.js文件,不支持import语法;而配置后全局require方法被移除,所以原有require语句报错,可根据你的实际需求选择对应方案:

情况1:可调整package.json的模块配置

删除package.json中的"type": "module"配置项,直接使用如下写法导入readline即可:

const readline = require("readline");
const { clearScreenDown } = readline;

此时所有require语法都可以正常运行,不会出现import相关报错。

情况2:必须保留"type": "module"配置,同时需要兼容require语法

ES模块模式下Node没有全局require方法,你可以通过官方提供的createRequire方法手动创建require函数,即可同时使用两种导入方式:

  1. 先在文件顶部初始化require函数:
import { createRequire } from "module";
const require = createRequire(import.meta.url);
  1. 再按照你熟悉的require语法导入readline:
const readline = require("readline");
const { clearScreenDown } = readline;

注意事项

  • 该方案要求Node.js版本 >= 12.2.0
  • 配置完成后可同时使用原生import和你创建的require导入不同类型的模块,不会产生冲突

内容的提问来源于stack exchange,提问作者Israa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:54:01