React项目后端报错Cannot use import statement outside a module怎么解决
报错原因
Node.js 默认使用 CommonJS 模块规范,原生不支持 ES 模块的 import 引入语法,你在 server.js 中直接使用 import express from "express" 就会触发该语法错误。
解决方案
有两种常用的解决方式,可根据项目需求选择:
- 方案一:将项目切换为 ES 模块规范
打开后端项目根目录的package.json文件,在顶层配置中添加"type": "module"配置项。添加后 Node.js 会将项目中所有.js文件识别为 ES 模块,即可正常使用import语法。
注意:切换为 ES 模块后,引入本地相对路径模块时需要补全文件后缀,例如import './tool'需修改为import './tool.js',同时 CommonJS 专属的require、__dirname等全局变量无法直接使用。 - 方案二:改用 CommonJS 引入语法
将代码中所有 ES 模块的import写法替换为 CommonJS 的require写法即可,例如将import express from "express"修改为const express = require("express"),其余第三方包、本地模块的引入逻辑对应调整即可。
内容的提问来源于stack exchange,提问作者CookieCat
相关产品推荐
相关产品推荐

