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

部署js-solar-potential Node.js应用遇SyntaxError报错求助

解决Node.js部署js-solar-potential应用的ES模块语法错误

错误原因

报错SyntaxError: Unexpected token {是因为Node.js默认以CommonJS模块系统加载文件,而build产物中使用了ES模块的import语法,当前服务器环境未正确识别该格式。

解决方案

1. 为build目录添加模块类型配置

在生成的build文件夹里新建package.json文件,写入以下内容:

{
  "type": "module"
}

这个配置会让Node.js将该目录下的所有.js文件当作ES模块处理,从而支持import/export语法。

2. 升级服务器Node.js版本

ES模块的默认支持从Node.js 14.13.0开始,错误日志显示当前环境使用的是旧版CommonJS加载器,版本不兼容。通过o2switch的控制面板切换到Node.js 14.13.0及以上版本(推荐18.x LTS长期支持版本)。

3. 验证项目build配置(可选)

如果上述方法无效,检查项目根目录的package.json中的build命令,确认构建工具是否输出兼容格式。以Vite为例,可修改vite.config.js强制输出CommonJS格式:

export default {
  build: {
    outDir: 'build',
    lib: {
      entry: './src/index.js',
      format: 'cjs'
    }
  }
}

修改后重新执行npm run build,再部署新的build产物。

4. 确认启动路径配置

确保o2switch的Node.js配置中,启动文件路径正确指向build/index.js,避免误指向根目录的其他文件。

内容的提问来源于stack exchange,提问作者Cyril Koumbin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:09:50