MERN栈学习中运行npm start出现import语法错误如何解决?
报错核心原因是当前使用的Node.js版本低于14.15.0,不支持package.json中配置的"type": "module"参数,Node仍然按照CommonJS规范解析JS文件,import属于ES模块专属语法,在CommonJS规范下属于非法语法,因此抛出语法错误。Node解析文件时会先做全局语法校验,校验不通过直接报错,不会执行任何代码逻辑,所以console.log内容没有输出。
解决方案二选一即可:
- 升级Node.js到14.15.0及以上的LTS版本,升级完成后重新执行
npm start即可正常运行。 - 不想升级Node版本的话做两处修改:
- 删除
package.json中的"type": "module"配置行 - 将
index.js中的ES模块导入语法替换为CommonJS导入语法:
- 删除
console.log('Why I cant read this file ?') const express = require('express'); const bodyParser = require('body-parser'); const mongoose = require('mongoose'); const cors = require('cors');
内容的提问来源于stack exchange,提问作者pedrofromperu
相关产品推荐
相关产品推荐

