Electron + Vite。Nodeモジュールの使用に関する問題
Viteを使ってElectronのビルドを行う際(現在はpackage.json
での"type": "module"
オプションがサポートされていません)、path
、fs
などのNode.jsモジュールの使用に問題が生じることがあります。
エラーError: Module “path” has been externalized for browser compatibility. Cannot access “path.sep” in client code
が表示されることがあります。
しかし、これはvite-plugin-electron-renderer
ポリフィルをインストールする(npm i -D vite-plugin-electron-renderer
)ことで、そしてvite.config.ts
で以下のように宣言することで、簡単に修正できます:
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import renderer from 'vite-plugin-electron-renderer';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
renderer(),
],
base: './',
});
TAGS:
- Electron
- Vite
- Node.js
- TypeScript
- フロントエンド
- 開発
- ウェブ開発
- ビルドツール
- トラブルシューティング