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

Node.js使用import报错cannot import outside a module的解决方法

Node.js ES模块导入报错解决方案
  • 检查package.json配置层级
    确认"type": "module"是放在package.json的根配置层级,而非嵌套在scripts/dependencies等其他配置项内,正确配置示例如下:
{
  "name": "your-project",
  "version": "1.0.0",
  "type": "module",
  "scripts": {},
  "dependencies": {}
}
  • 修正导入路径大小写匹配
    Node.js在macOS、Linux等类Unix系统下对文件路径大小写敏感,你导出常量的文件名为Constants.js(首字母大写),导入语句中写的是./constants.js(全小写),路径不匹配会导致模块识别异常,将导入语句修改为和实际文件名一致即可:
import {help1, help2, help3} from './Constants.js'
  • 确认Node.js版本兼容性
    Node.js 12.20.0以下版本对ES模块的支持不稳定,建议升级到14.x及以上的LTS版本,可执行node -v查看当前安装的Node.js版本。
  • 调整运行启动参数
    如果使用nodemon等第三方工具启动项目,或模块解析逻辑有自定义配置,可在启动命令中添加ES模块解析参数:
node --experimental-specifier-resolution=node backend.js
  • 兜底方案:改用CommonJS规范
    如果以上方案均无法生效,可临时切换为CommonJS写法兼容,修改对应文件代码即可:
    Constants.js代码:
const help1 = 5
const help2 = 6
const help3 = 7
module.exports = { help1, help2, help3 }

backend.js代码:

const {help1, help2, help3} = require('./Constants.js')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 04:21:03