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

Express服务器终端运行报错:无法在模块外使用import语句

解决Node.js中"Cannot use import statement outside a module"报错(Express场景)

我在使用Express搭建服务器时,执行node index.js命令遇到如下报错:

$ node index.js
(node:7516) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
C:\Users\Rutuja123\Desktop\Rutuja\Web Development\2.4 QR Code Project\Express server\index.js:1
import Express from "Express";
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1178:20)
    at Module._compile (node:internal/modules/cjs/loader:1220:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47

Node.js v18.17.0

报错本质是Node.js默认以CommonJS模块规范加载文件,而代码中使用了ES模块的import语法,需明确标识文件为ES模块,以下是两种可行的解决方式:

方法一:修改package.json配置

  1. 在项目根目录的package.json中添加或修改type字段:
{
  "type": "module",
  // 项目其他原有配置
}
  1. 保存文件后,重新执行node index.js即可。

方法二:修改文件扩展名

将index.js重命名为index.mjs,之后执行命令:

node index.mjs

注意:如果项目中还有其他使用import的.js文件,需同步修改扩展名,或统一采用方法一的全局配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:53:14