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

Electron-Vite(Vue)项目无法导入本地MongoDB/Mongoose文件

解决Vite+Electron Vue项目中本地模块导入错误的问题

问题原因

你遇到的错误是因为ES模块与CommonJS模块的导入导出语法不匹配:

  • 入口文件index.js使用ES模块的命名解构导入:import { connect } from "./MongoDB";
  • 但MongoDB.js用的是CommonJS的导出方式:module.exports = { connect },这种导出在ES模块体系中会被识别为默认导出,而非命名导出,所以Vite无法找到对应的connect命名导出。

解决方案

方案1:将MongoDB.js改为ES模块导出

直接把MongoDB.js的导出语法改成ES模块格式,和入口文件的导入语法匹配:

// src/main/MongoDB.js
import mongoose from 'mongoose';

// 定义connect函数
export const connect = async () => {
  try {
    await mongoose.connect('你的MongoDB连接字符串');
    console.log('MongoDB连接成功');
  } catch (err) {
    console.error('MongoDB连接失败:', err);
  }
};

之后保持index.js中的导入代码不变即可:

import { connect } from "./MongoDB";

方案2:修改入口文件的导入方式(保留CommonJS导出)

如果不想修改MongoDB.js的CommonJS格式,需要把入口文件的导入改为默认导入,再解构出connect:

// src/main/index.js
import MongoDB from "./MongoDB";
const { connect } = MongoDB;

验证

修改后重新执行electron-vite dev,即可正常导入connect函数并使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:40:00