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

MacOS下Nuxt JS配置SSL服务启动报import语法错误求助

解决方案

方案1:统一使用CommonJS语法(改动最小,适配现有server.js逻辑)

报错根源是server.js用CommonJS规范的require加载nuxt.config.js,但后者用了ES模块的import/export default语法,Node默认不支持两种规范混写。直接修改nuxt.config.js语法即可:

// 把import改为require
const axiosModule = require('./modules/axiosModule')
const momentModule = require('./modules/momentModule')
// 把export default改为module.exports
module.exports = {
  server: {
    host: '0.0.0.0',
    port: 3000,
  },
  // 其余原有配置保持不变
}

修改后直接运行原有npm run dev命令即可正常启动。

方案2:启用Node ES模块模式(保留所有import写法)

如果不想改动项目里已有的ES模块写法,按以下步骤调整:

  1. 在package.json中新增配置项:
"type": "module"
  1. 把server.js里所有CommonJS的require语法替换为ES模块import语法,示例:
import { Nuxt, Builder } from 'nuxt'
import express from 'express'
const expressServer = express()
import thisHttp from 'http'
import thisHttps from 'https'
import thisFs from 'fs-extra'
// 加载nuxt.config时注意补全.js后缀
import nuxtConfig from './nuxt.config.js'

// 其余原有逻辑保持不变

方案3:使用esm加载器(零改动业务代码)

如果不想修改任何现有JS文件的语法,可以用esm加载器做兼容:

  1. 安装esm依赖:
npm install esm --save-dev
  1. 修改package.json中的dev启动命令:
"dev": "node -r esm server.js"

重启服务即可正常识别import语法。

内容的提问来源于stack exchange,提问作者Uğurcan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:54:03