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

代码上传至托管服务器后报错,本地正常(import语句模块问题)

解决Node.js中import语法报错:"Cannot use import statement outside a module"

问题原因

Node.js 默认采用 CommonJS模块系统(使用require()/module.exports),import/export属于ES模块语法。若未明确配置让Node.js识别当前文件为ES模块,就会触发该语法错误。本地能正常运行是因为你本地项目已配置ES模块识别,而服务器端未做相同配置。

解决步骤

方法1:配置package.json启用ES模块

在项目根目录的package.json中添加"type": "module"字段:

{
  "name": "your-project-name",
  "type": "module",
  // 保留原有其他配置
}

添加后,Node.js会将项目中所有.js文件默认视为ES模块,即可正常使用import语法。

方法2:修改文件后缀为.mjs

若不想修改package.json,可将使用import语法的文件后缀从.js改为.mjs(比如把app.js改成app.mjs)。Node.js会自动识别.mjs后缀的文件为ES模块。

额外注意点

  • 若项目同时存在CommonJS和ES模块文件:ES模块中可通过import()动态导入CommonJS模块,但CommonJS文件无法直接使用import,只能用require()。
  • 检查服务器Node.js版本:确保服务器Node.js版本支持ES模块(最低要求v12.20.0或v14.13.0,推荐使用v16及以上稳定版)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:03:25