安装Electron
,支持编译软件(在调试)
This commit is contained in:
parent
a5bec61921
commit
fcbb16a98c
41
electron/main.ts
Normal file
41
electron/main.ts
Normal file
@ -0,0 +1,41 @@
|
||||
// main.ts
|
||||
|
||||
// 控制应用生命周期和创建原生浏览器窗口的模组
|
||||
import path from "path";
|
||||
import {app, BrowserWindow} from "electron";
|
||||
|
||||
|
||||
function createWindow() {
|
||||
// 创建浏览器窗口
|
||||
const mainWindow = new BrowserWindow({
|
||||
width: 800,
|
||||
height: 600,
|
||||
webPreferences: {
|
||||
// 引入预加载文件
|
||||
preload: path.join(__dirname, "preload.js"),
|
||||
},
|
||||
});
|
||||
|
||||
// 加载vite启动的本地服务
|
||||
mainWindow.loadURL("http://localhost:5173");
|
||||
|
||||
}
|
||||
|
||||
// 这段程序将会在 Electron 结束初始化
|
||||
// 和创建浏览器窗口的时候调用
|
||||
// 部分 API 在 ready 事件触发后才能使用。
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
|
||||
app.on("activate", function () {
|
||||
// 通常在 macOS 上,当点击 dock 中的应用程序图标时,如果没有其他
|
||||
// 打开的窗口,那么程序会重新创建一个窗口。
|
||||
if (BrowserWindow.getAllWindows().length === 0) createWindow();
|
||||
});
|
||||
});
|
||||
|
||||
// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此,通常对程序和它们在
|
||||
// 任务栏上的图标来说,应当保持活跃状态,直到用户使用 Cmd + Q 退出。
|
||||
app.on("window-all-closed", function () {
|
||||
if (process.platform !== "darwin") app.quit();
|
||||
});
|
1
electron/preload.ts
Normal file
1
electron/preload.ts
Normal file
@ -0,0 +1 @@
|
||||
console.log("preload");
|
@ -3,10 +3,12 @@
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"main": "dist/main.js",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vue-tsc && vite build",
|
||||
"preview": "vite preview"
|
||||
"build": "vue-tsc --noEmit && vite build",
|
||||
"preview": "vite preview",
|
||||
"electron:dev":"tsc && electron ."
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/crypto-js": "^4.2.1",
|
||||
@ -24,6 +26,7 @@
|
||||
"@typescript-eslint/parser": "^6.11.0",
|
||||
"@vant/auto-import-resolver": "^1.0.2",
|
||||
"@vitejs/plugin-vue": "^4.2.3",
|
||||
"electron": "^27.1.3",
|
||||
"eslint": "^8.54.0",
|
||||
"eslint-plugin-vue": "^9.18.1",
|
||||
"typescript": "^5.0.2",
|
||||
|
@ -10,9 +10,10 @@
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"noEmit": true,
|
||||
"isolatedModules": false,
|
||||
"noEmit": false,
|
||||
"jsx": "preserve",
|
||||
"outDir": "dist",
|
||||
|
||||
/* Linting */
|
||||
"strict": true,
|
||||
@ -25,7 +26,8 @@
|
||||
"src/**/*.d.ts",
|
||||
"src/**/*.tsx",
|
||||
"src/**/*.vue",
|
||||
"auto-imports.d.ts"
|
||||
"auto-imports.d.ts",
|
||||
"electron/*.ts"
|
||||
],
|
||||
"references": [{ "path": "./tsconfig.node.json" }]
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user