Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

362
Views
Send environment variable value to renderer thread in Electron app

I have an Electron app. I need to get the value of an environment variable from my local machine to use on the renderer thread. I want to pass this value to the renderer thread when the app starts. I know in the main.js file, I can get the environment variable like this:

main.js

const createWindow = () => {
    const win = new BrowserWindow({
        width: 800,
        height: 600
    });
  
    win.loadFile('index.html');

    // Retrieve the environment variable value
    const variableValue = process.env.MY_ENVIRONMENT_VARIABLE;
    console.log(`Variable value: ${variableValue}`);

    // Send the variable and it's value to the renderer.
    win.webContents.send('initialize', { 'variableName':variableValue });
}

The above successfully prints the environment variable's value to the terminal window. However, I need to use this value in the browser side of the ball. How do I get the variable's value there?

Thank you!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

This can't be done directly from the renderer process (with nodeIntegration off), since it has no direct access to the Node.js process variable.

The most straightforward way to do this is via the BrowserWindow's preload script, which allows you to expose arbitrary data to the renderer process via Electron's contextBridge API. An example:

// Main Process
const win = new BrowserWindow({
  width: 800,
  height: 600,
  preload: path.join(__dirname, 'preload.js'); // require `path` if you haven't already
});
// Preload Script
const { contextBridge } = require('electron');

// this should print out the value of MY_ENVIRONMENT_VARIABLE
console.log(process.env.MY_ENVIRONMENT_VARIABLE);

contextBridge.exposeInMainWorld('envVars', {
  myEnvironmentVariable: process.env.MY_ENVIRONMENT_VARIABLE
});
// Renderer Process
console.log(window.envVars.MY_ENVIRONMENT_VARIABLE)

See the contextBridge API docs: https://www.electronjs.org/docs/latest/api/context-bridge

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!