在Hostinger VPS部署MERN栈时Express出现意外标识符错误求助
MERN栈部署Hostinger VPS时API运行报错(Express相关意外标识符)
问题详情
首次在Hostinger的VPS上部署MERN栈,参照lamadev的教程操作,但API无法运行,出现Express相关的意外标识符错误。错误截图如下:
项目配置
我的package.json配置如下:
{ "name": "api", "version": "1.0.0", "description": "", "main": "index.js", "type": "module", "devDependencies": {}, "scripts": { "start": "nodemon index.js" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "@sendgrid/mail": "^7.7.0", "cors": "^2.8.5", "crypto-js": "^4.1.1", "dotenv": "^16.0.3", "express": "^4.18.2", "jsonwebtoken": "^8.5.1", "mongodb": "^4.11.0", "mongoose": "^6.7.0", "nodemailer": "^6.8.0", "nodemon": "^2.0.20" } }
项目代码仓库:tuamarketplace
排查解决方向
- Node.js版本检查:因配置启用了
"type": "module",需确保VPS上Node.js版本≥v14.13.0,低版本不支持ES模块语法,会触发解析错误。 - 导入语法规范:检查
index.js及所有模块文件,确认统一使用import语法而非require,ES模块模式下混用两种语法会导致意外标识符报错。 - 启动方式调整:尝试用
node index.js直接启动,排除nodemon与ES模块的兼容性问题;若直接启动正常,可升级nodemon版本或在启动命令中添加--experimental-specifier-resolution=node参数。 - 文件路径校验:确认所有模块导入的相对路径拼写正确,路径错误会引发解析异常。
- 依赖重装:在VPS环境重新执行
npm install,确保所有依赖完整安装,避免因依赖缺失导致运行错误。
内容的提问来源于stack exchange,提问作者Stykgwar
相关产品推荐
相关产品推荐

