diff --git a/configs/electron-builder.config.mjs b/configs/electron-builder.config.mjs index 4895de1..7df883e 100644 --- a/configs/electron-builder.config.mjs +++ b/configs/electron-builder.config.mjs @@ -1,41 +1,33 @@ - /** * @type {import('electron-builder').Configuration} */ const config = { - appId: "308487730@qq.com", + appId: '308487730@qq.com', asar: true, directories: { - output: "release/${version}" + output: 'release/${version}', + buildResources: 'public', }, - files: [ - "!node_modules", - "dist", - "package.json" - ], + files: ['!node_modules', 'dist', 'package.json'], mac: { - artifactName: "${productName}_${version}.${ext}", - target: [ - "dmg" - ] + artifactName: '${productName}_${version}.${ext}', + target: ['dmg'], }, win: { target: [ { - target: "nsis", - arch: [ - "x64" - ] - } + target: 'nsis', + arch: ['x64'], + }, ], - artifactName: "${productName}_${version}.${ext}" + artifactName: '${productName}_${version}.${ext}', }, nsis: { oneClick: false, perMachine: false, allowToChangeInstallationDirectory: true, - deleteAppDataOnUninstall: false - } + deleteAppDataOnUninstall: false, + }, } export { config } diff --git a/public/img/node.png b/public/img/node.png new file mode 100644 index 0000000..1cd6519 Binary files /dev/null and b/public/img/node.png differ diff --git a/scripts/build.mjs b/scripts/build.mjs index 1f6e87d..243f033 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -4,6 +4,7 @@ import { build as viteBuild } from 'vite' import { build as electronBuild, Platform } from 'electron-builder' import { config as builderConfig } from '../configs/electron-builder.config.mjs' import chalk from 'chalk' +import path from 'path' const TAG = chalk.bgBlue('[build.mjs]') @@ -16,7 +17,17 @@ const viteConfigs = { async function buildElectron() { for (const [name, configPath] of Object.entries(viteConfigs)) { console.group(TAG, name) - await viteBuild({ configFile: configPath, mode: process.env.NODE_ENV }) + + const config = { + configFile: configPath, + mode: process.env.NODE_ENV, + } + + if (name === 'reactTs') { + config.publicDir = path.resolve('./public') + } + + await viteBuild(config) console.groupEnd() console.log() // for beautiful log. } diff --git a/scripts/watch.mjs b/scripts/watch.mjs index e34a053..217b8e8 100644 --- a/scripts/watch.mjs +++ b/scripts/watch.mjs @@ -1,14 +1,14 @@ process.env.NODE_ENV = 'development' import { readFileSync } from 'fs' -import { join } from 'path' +import { resolve, join } from 'path' import electron from 'electron' import { spawn } from 'child_process' import { createServer, build as viteBuild } from 'vite' -import chalk from 'chalk' -const TAG = chalk.bgGreen('[dev.mjs]') -const pkg = JSON.parse(readFileSync(join(process.cwd(), 'package.json'), 'utf8')) +const pkg = JSON.parse( + readFileSync(join(process.cwd(), 'package.json'), 'utf8') +) /** * @param {{ name: string; configFile: string; writeBundle: import('rollup').OutputPlugin['writeBundle'] }} param0 @@ -22,9 +22,7 @@ function getWatcher({ name, configFile, writeBundle }) { watch: {}, }, configFile, - plugins: [ - { name, writeBundle }, - ], + plugins: [{ name, writeBundle }], }) } @@ -72,7 +70,10 @@ async function watchPreload(viteDevServer) { } // bootstrap -const viteDevServer = await createServer({ configFile: 'configs/vite.renderer.ts' }) +const viteDevServer = await createServer({ + configFile: 'configs/vite.renderer.ts', + publicDir: resolve('./public'), +}) await viteDevServer.listen() await watchPreload(viteDevServer) diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index f6b6cb5..2d53e68 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -49,6 +49,10 @@ function App() { > Vite Docs +