・debian 12.6 ・vscode 1.89.1 ・node 20.13.1 ・typescript 5.4.5 ・vite 5.2.12 ・react 18.3.3 ・electron 30.0.9
viteでプロジェクトを作成する。
$ npm create vite sample-app -- --template react-ts
electronをインストールする。
$ cd sample-app $ npm install --save-dev electron electron-builder
electron用のディレクトリを作成する。
$ mkdir electron/
electronに必要なファイルを作成する。
プロジェクトルートにあるtsconfig.jsonに作成したディレクトリを追加する。
… "include": ["src", "electron"], …
preload.tsに定義されたAPIの動作確認のため、App.tsxの適当な場所に下記を追記する。
… <button onClick={() => { alert(window.counterAPI.count()) }}> counting via API </button> …
vite.config.tsに相対パスを使用する定義と、Reactのビルド出力先の定義を追記する。
… export default defineConfig({ plugins: [react()], base: "./", build: { outDir: "build/" } })
package.jsonにtypeとmainを定義する。typeはデフォルトでcjsなので削除してしまっても良い。
… "type": "commonjs", "main": "build/electron/main.js", …
package.jsonに開発用とビルド用のスクリプトを追記する。
… "scripts": { … "electron:dev": "tsc -p electron/ && electron . & vite", "electron:build": "tsc && vite build && tsc -p electron/ && electron-builder --dir" }, …
package.jsonにビルドに必要な情報を追記する。
… "build": { "appId": "com.example.sample-app", "productName": "SampleApp", "files": [ "build/**/*" ] }, …
reactのホットリロードを利用して開発用にアプリを起動する。
$ npm run electron:dev
アプリをビルドする。
$ npm run electron:build