2017-03-08 75 views
1

我已经得到了我的电子构建文件的一个WIN EXE和安装程序,但图标不是我的。在我的main.js文件中,我有附加图标的代码,但是我只能使它在createWindow函数内工作。在函数外面,我收到一条错误消息。该exe文件将运行,我得到我的图标,虽然这是我的错误;安装程序根本无法工作。我试过了几个教程,但是他们都没有解决这个问题。电子 - 将图标添加到应用程序

Main.js

const {app, BrowserWindow, Tray} = require('electron') 
const path = require('path') 
const url = require('url') 
let win 
function createWindow() { 
const appIcon = new Tray('icon/app.png') 
win = new BrowserWindow({width: 1920, height: 1080, icon: 'icon/app.ico'}) 
console.log(appIcon, win) 
win.loadURL(url.format({ 
pathname: path.join(__dirname, 'app/app.html'), 
protocol: 'file:', 
slashes: true 
})) 
win.on('closed',() => { 
win = null 
}) 
} 
app.on('ready', createWindow) 
app.on('window-all-closed',() => { 
if (process.platform !== 'darwin') { 
app.quit() 
} 
}) 
app.on('activate',() => { 
if (win === null) { 
createWindow() 
} 
}) 

的package.json

{ 
"name": "myapp", 
"version": "1.0.0", 
"description": "MyApp", 
"private": true, 
"main": "main.js", 
"build": { 
    "appID": "myapp", 
    "productName": "MyApp", 
    "icon": "icon/app.ico" 
}, 
"scripts": { 
     "start": "electron ." , 
     "package": "", 
    }, 
"author": "Me", 
"license": "ISC", 
"devDependencies": {"electron": "^1.6.1"} 
} 

我不知道该怎么在这里做。

+0

是否要替换为默认应用程序图标或其他特别的东西? – IsuruKusumal

+0

我想让我的图标替换所有位置的默认设置。 – Tim

+0

任何想法为什么电子应用程序不能自动打开窗口系统启动在Windows TabMode中,但在桌面模式下工作完美? – anu

回答

0

可以使用和main.js

mainWindow = new BrowserWindow({width: 800, height: 600,icon: __dirname + '/icon.ico'});

和安装程序里面,如果你是使用电子建设者

"devDependencies": { 
    "electron": "^1.4.15", 
    "electron-builder": "^12.3.1" 
    }, 

请在根文件夹并命名为构建在那个文件夹里面添加你的图标.ico

有时候你需要重新调整电子或bui ld应用程序2次