【发布时间】:2017-05-23 21:31:09
【问题描述】:
我正在用头撞墙。我正在尝试覆盖演示电子应用程序的名称,以为其提供自定义名称,而不仅仅是Electron。我为此创建了一个模块:
const {app, Menu} = require('electron')
const template = [
{
label: 'New Name',
submenu:[
{
label: 'Test',
click: (menuItem, browserWindow, event) => {
console.log('menu item clicked')
}
},
{role: 'quit'}
]
},
{
label: 'test test',
submenu:[
{
label: 'Test',
click: (menuItem, browserWindow, event) => {
console.log('menu item clicked')
}
},
{role: 'quit'}
]
}
]
installApplicationMenu = function (){
const menu = Menu.buildFromTemplate(template)
let result = Menu.setApplicationMenu(menu)
}
module.exports = {
installApplicationMenu
}
我在创建窗口后调用这个模块:
const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')
const {installApplicationMenu} = require('./MenuInstaller')
require('electron-reload')(__dirname,{
electron: path.join(__dirname, 'node_modules', '.bin', 'electron')
})
let win
function createWindow(){
win = new BrowserWindow({
width: 800,
height: 600
})
win.loadURL(
url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
})
)
win.on('closed', () => {
win = null
})
}
app.on('ready', function (){
createWindow()
installApplicationMenu()
})
app.on('activate', () => {
if(win === null) createWindow()
})
当我这样做时,第二个菜单集的自定义名称为 test test,但主菜单名称仍为 Electron:
我一直在将代码与我创建的另一个应用程序进行比较,在该应用程序中我能够覆盖默认名称,但我无法发现在这种情况下是什么阻止了覆盖工作。
有什么想法吗?
【问题讨论】:
标签: electron