const path = require('path') const { defineConfig } = require('@vue/cli-service') module.exports = defineConfig({ outputDir: path.resolve(__dirname, 'dist/renderer'), publicPath: './', // 关键修改:配置 Electron 构建目标和排除原生模块 configureWebpack: { target: 'electron-renderer', // 指定为 Electron 渲染进程 externals: { electron: 'require("electron")', // 防止 Webpack 处理 electron 模块 fs: 'require("fs")', // 排除 Node.js 原生模块 path: 'require("path")', }, resolve: { alias: { '@': path.resolve(__dirname, 'src/renderer'), // 确保 Vue 单文件组件引用时自动补全扩展名 'views': path.resolve(__dirname, 'src/renderer/views') }, // 添加扩展名自动解析 extensions: ['.js', '.vue', '.json'] } }, // 保留原有页面配置 pages: { index: { entry: 'src/renderer/main.js', template: 'public/index.html', filename: 'index.html' } }, // 保留 Electron Builder 配置 pluginOptions: { electronBuilder: { preload: 'src/preload.js', nodeIntegration: false, contextIsolation: true, // 可选:明确指定主进程文件路径 mainProcessFile: 'src/main/index.js' } }, // 开发服务器配置(与 Electron 主进程配合) devServer: { port: 8080, // 确保与 wait-on 端口一致 hot: true, headers: { 'Access-Control-Allow-Origin': '*' } } })