diff --git a/.gitignore b/.gitignore index 993cbba..c2bbf93 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ node_modules dist dist-ssr *.local +dist_electron pnpm-lock.yaml +package-lock.json dist.zip \ No newline at end of file diff --git a/app/main.js b/app.js similarity index 78% rename from app/main.js rename to app.js index 85fe43a..e101474 100644 --- a/app/main.js +++ b/app.js @@ -8,19 +8,21 @@ function createWindow() { frame: false, webPreferences: { nodeIntegration: true, - preload: path.join(__dirname, '/utils/preload.js'), + preload: path.join(__dirname, '/electron/preload.js'), }, }) win.setMinimumSize(1280, 900); - win.loadURL('http://localhost:4678/') - win.webContents.openDevTools({ mode: 'detach' }) + + if (process.env.NODE_ENV === 'dev') { + win.loadURL('http://localhost:4678/') + win.webContents.openDevTools({ mode: 'detach' }) + } else { + win.loadURL(`file://${__dirname}/dist/index.html`) + } } - app.whenReady().then(createWindow) - - ipcMain.on('minimize-window', (event) => { const win = BrowserWindow.fromWebContents(event.sender) win.minimize() diff --git a/electron.config.json b/electron.config.json new file mode 100644 index 0000000..2129ab8 --- /dev/null +++ b/electron.config.json @@ -0,0 +1,18 @@ +{ + "appId": "com.alger.music", + "productName": "AlgerMusic", + "directories": { + "output": "dist_electron" + }, + "files": ["dist/**/*", "package.json", "app.js", "electron/**/*"], + "win": { + "icon": "public/icon.png", + "target": "nsis", + "extraFiles": [ + { + "from": "installer/installer.nsh", + "to": "$INSTDIR" + } + ] + } +} diff --git a/app/utils/preload.js b/electron/preload.js similarity index 100% rename from app/utils/preload.js rename to electron/preload.js diff --git a/package.json b/package.json index a2c18da..dd351a7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "alger-music", - "version": "0.0.0", - "main": "./app/main.js", + "version": "1.0.0", + "main": "app.js", "scripts": { "dev": "vite", "build": "vite build", @@ -9,7 +9,7 @@ "es": "vite && electron .", "eb": "vite build && electron-builder", "start": "electron .", - "e:b": "electron-builder" + "e:b": "electron-builder --config ./electron.config.json" }, "dependencies": { "@tailwindcss/postcss7-compat": "^2.2.4", diff --git a/public/icon.ico b/public/icon.ico deleted file mode 100644 index df36fcf..0000000 Binary files a/public/icon.ico and /dev/null differ diff --git a/public/icon.png b/public/icon.png new file mode 100644 index 0000000..dd34e79 Binary files /dev/null and b/public/icon.png differ diff --git a/vite.config.ts b/vite.config.ts index 2d01c19..246c0df 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -2,30 +2,11 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import path from 'path' import VueDevTools from 'vite-plugin-vue-devtools' -// const { vitePluginElectronBuilder } = require('vite-plugin-electron-builder') -import vitePluginElectronBuilder from 'vite-plugin-electron-builder' // https://vitejs.dev/config/ export default defineConfig({ - plugins: [ - vue(), - VueDevTools(), - vitePluginElectronBuilder({ - mainProcessFile: 'app/main.js', - preloadDir: 'app/utils', - builderOptions: { - appId: 'com.alger.music', - directories: { - output: 'dist_electron', - }, - files: ['dist/**/*', 'node_modules/**/*', 'package.json'], - win: { - icon: 'public/icon.ico', - target: 'nsis', - }, - }, - }), - ], + plugins: [vue(), VueDevTools()], + base: './', resolve: { alias: { '@': path.resolve(__dirname, 'src'),