5
votes

Comment changer l'icône par défaut de l'application ElectronJS?

Je suis nouveau sur electronjs. Je souhaite convertir une application angulaire en un ordinateur de bureau. Je pourrais y parvenir avec succès, mais le problème est que l'icône de l'application est définie sur l'électron par défaut et non sur l'icône que j'ai fournie comme suit:

   win = new BrowserWindow({
    width: 600,
    height: 670,
    icon: `${__dirname}/dist/assets/imgs/logo.png`
  })

J'ai changé l'icône après avoir créé l'application à l'aide d'un pirate de ressources, mais ce dont j'ai besoin est de la changer au moment de la construction de la bonne manière. qu'est-ce que je manque>


0 commentaires

4 Réponses :


5
votes

Dans main.js, spécifiez l'icône

const path = require('path')
const url = require('url')
const iconUrl = url.format({
 pathname: path.join(__dirname, 'Icon/Icon.icns'),
 protocol: 'file:',
 slashes: true
})

Vous pouvez également utiliser des méthodes d'URL d'assistance

win = new BrowserWindow({
 width: 800, 
 height: 600,
 icon: __dirname + '/Icon/Icon.icns'
})

Vérifiez ceci pour référence: https://medium.com/fantageek/changing-electron-app-icon-acf26906c5ad


0 commentaires

2
votes

Dans le processus principal, vous devez spécifier le chemin de l'icône. Dans Windows, l'icône doit être .ico ou dans mac .icns

const path = require('path')

      mainWindow = new BrowserWindow({
        width: 900,
        height: 700,
        icon: path.join(__dirname, './img/icon.ico');
        }
      })


0 commentaires

0
votes

Vous pouvez changer l'icône en fonction de la plate-forme de votre lancement.

const iconPath = process.platform !== 'darwin'
    ? 'src/assets/icons/favicon.ico'
    : 'src/assets/icons/favicon.icns';

  // Create the browser window.
  win = new BrowserWindow({
    icon: path.join(__dirname, iconPath),
    x: 0,
    y: 0,
    width: size.width,
    height: size.height,
    webPreferences: {
      nodeIntegration: true,
      allowRunningInsecureContent: (serve) ? true : false,
      contextIsolation: false,  // false if you want to run e2e test with Spectron
      enableRemoteModule: true // true if you want to run e2e test  with Spectron or use remote module in renderer context (ie. Angular)
    },
  });


0 commentaires

0
votes

Ce que vous pouvez faire est d'insérer une ligne de code ici:

WIN = new BrowserWindow = ({
    // ...
    icon: __dirname + '/relative/path/to/your/icon/file'
   // ...
});


0 commentaires