Electronのブラウザウィンドウ内でprocess.env
の値を取得することができます。ただし、Electronのメインプロセスとレンダラープロセスの間では、process.env
の値が異なることに注意してください。
メインプロセスでは、process.env
はNode.jsのグローバル変数として利用可能です。メインプロセスでは、process.env
に直接アクセスして、環境変数の値を取得できます。
レンダラープロセス(ブラウザウィンドウ内のJavaScriptコンテキスト)では、process.env
にはアクセスできませんが、preload
スクリプトを使用して値を渡すことができます。
以下に、Electronのメインプロセスからレンダラープロセスへprocess.env
の値を渡す方法の例を示します。
メインプロセスのコード:
const { app, BrowserWindow } = require('electron');
app.on('ready', () => {
const mainWindow = new BrowserWindow({
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
});
mainWindow.loadURL('your-app-url');
});
preload.jsファイルのコード:
window.addEventListener('DOMContentLoaded', () => {
const { ipcRenderer } = require('electron');
ipcRenderer.send('env-variables', process.env);
});
これにより、メインプロセスからレンダラープロセスにprocess.env
の値が渡されます。レンダラープロセスでは、ipcRenderer
を使用してメインプロセスからのメッセージを受信し、その値を利用することができます。
ただし、セキュリティ上の理由から、注意が必要です。環境変数には機密性の高い情報が含まれる場合がありますので、適切なセキュリティ対策を講じる必要があります。