vue3+vite搭建脚手架项目本地运行electron桌面应用

1.搭建脚手架项目

搭建Vue3+Vite+Ts脚手架-CSDN博客

2.创建完项目后,安装所需依赖包

npm i vite-plugin-electron electron@26.1.0

3.根目录下创建electron/main.ts

electron/main.ts

复制代码
/** electron/main.ts */

import { app, BrowserWindow } from "electron";

const createWindow = () => {
  const win = new BrowserWindow({
    width: 960,
    height: 600,
    webPreferences: {
      nodeIntegration: true, // 设置是否在页面中启用 Node.js 集成模式
      contextIsolation: false, // 设置是否启用上下文隔离模式。
    },
  });

  if (process.env.VITE_DEV_SERVER_URL) {
    win.loadURL(process.env.VITE_DEV_SERVER_URL); // 使用vite开发服务的url路径访问应用
  } else {
  }
};

app.whenReady().then(createWindow);

4.配置vite.config.ts

复制代码
import electron from "vite-plugin-electron";

electron([{ entry: "electron/main.ts" }])

5.配置package.json

删除:"type": "module",

添加:"main": "dist-electron/main.js",

6.运行项目 npm run dev 自动弹出窗口

7.解决问题

警告问题:The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.

解决方案

将 vite.config.ts 文件改名为 vite.config.mts

文件扩展名 .mts 明确地指示 Node.js 将该文件作为一个 ECMAScript Module (ESM) 来处理。

这与在 package.json 中设置 "type": "module" 相类似,都是为了确保 Node.js 以 ESM 格式解析和执行模块。

相关推荐
爱勇宝2 小时前
小红花成长新版:模板来了,鼓励也更容易开始
前端·后端·程序员
竹林8183 小时前
Solana前端开发:我在一个NFT铸造页面上被@solana/web3.js的Connection和Transaction签名坑了两天
前端
冬奇Lab3 小时前
每日一个开源项目(第144篇):ai-website-cloner-template - 一条命令、多 Agent 并行,把任意网站逆向成 Next.js 代码
前端·人工智能·开源
玄玄子3 小时前
webpack publicPath作用原理
前端·webpack·程序员
HduSy3 小时前
帮 Claude Code 做了个菜单栏 Token 看板,聊聊里面的一些实现逻辑
前端
minglie3 小时前
一个置换问题
javascript
用户059540174463 小时前
用了6个月LangChain,才发现AI Agent的记忆存储一直有坑——写了23个Pytest用例才彻底修好
前端·css
奶油mm3 小时前
我偷偷把公司的祖传 jQuery 项目改成了 Vue3,CTO 没发现,但全组都来抄我的代码了
前端
用户2136610035724 小时前
Vue2非父子通信与动态组件
前端·vue.js
默_笙4 小时前
🌀 别再手动写 Prompt 了!我让 AI 自己循环改到满意为止
javascript