为什么我的菜单项图标在Electron 1.8.1的顶层不显示?

为什么我的菜单项图标在Electron 1.8.1的顶层不显示?,electron,menuitem,Electron,Menuitem,我有一个带菜单的电子应用程序。第一个菜单项是下拉菜单,因此它有一个子菜单。其他两个菜单项只需单击即可完成任务。 我的问题是,我只是不能得到一个图标显示的菜单项,做他们的东西马上。(同一图标在子菜单项上显示良好。) 例如: 图标根本不显示。如果我拿出标签,什么也看不出来。 但是当我将完全相同的代码放入子菜单时,图标会显示出来。我在子菜单中的选项旁边显示了指定的图标,但没有在主菜单中显示这些图标:您可以发布一个最小复制(例如使用)并指定您在哪个操作系统上遇到问题吗?这样可以更容易地调试问题。另外,我

我有一个带菜单的电子应用程序。第一个菜单项是下拉菜单,因此它有一个子菜单。其他两个菜单项只需单击即可完成任务。 我的问题是,我只是不能得到一个图标显示的菜单项,做他们的东西马上。(同一图标在子菜单项上显示良好。) 例如:

图标根本不显示。如果我拿出标签,什么也看不出来。
但是当我将完全相同的代码放入子菜单时,图标会显示出来。我在子菜单中的选项旁边显示了指定的图标,但没有在主菜单中显示这些图标:

您可以发布一个最小复制(例如使用)并指定您在哪个操作系统上遇到问题吗?这样可以更容易地调试问题。另外,我认为Electron没有v1.1.8版本。看起来v1.1.X发行版的分支在1.1.3()停止了。对不起,是的,确实有一个输入错误,我正在使用Electron 1.8.1。至于使用Electron Fiddle,我在那里遇到了问题,因为Fiddle在我的tmp目录中查找相对引用的文件,所以需要我的图标文件的绝对路径;这种做法违背了发布最小复制量的目的。我将回到我原来的问题,并尝试编辑它,以便使事情更清楚。谢谢你的帮助!您是否可以发布一个最小复制(例如使用)并指定您在哪个操作系统上遇到问题?这样可以更容易地调试问题。另外,我认为Electron没有v1.1.8版本。看起来v1.1.X发行版的分支在1.1.3()停止了。对不起,是的,确实有一个输入错误,我正在使用Electron 1.8.1。至于使用Electron Fiddle,我在那里遇到了问题,因为Fiddle在我的tmp目录中查找相对引用的文件,所以需要我的图标文件的绝对路径;这种做法违背了发布最小复制量的目的。我将回到我原来的问题,并尝试编辑它,以便使事情更清楚。谢谢你的帮助!
const {
  BrowserWindow,
  Menu, app
} = require('electron');
const path = require('path');
viewerWindow = null;

// define the menus
var menuoptions = [
    {
        label: "Select All", // {role: 'selectAll' } doesn't show the keyboard shortcuts
        accelerator: 'CmdOrCtrl+A',
        click: () => viewerWindow.webContents.selectAll()
    },
    {
        label: "Copy", // {role: 'copy'} doesn't show the keyboard shortcuts
        accelerator: 'CmdOrCtrl+C',
        click: () => viewerWindow.webContents.copy()
    },

    {type:'separator'}, 
    {
        id: 'b',
        label:'Back',
        icon: 'C:/Users/bvanlogg/Documents/ElectronFiddle/point_left.png',
        accelerator: 'Alt+Left',
        click() {
            nav.goBack()
        }
    },
    {
        id: 'f',
        label:'Forward',
        icon: 'C:/Users/bvanlogg/Documents/ElectronFiddle/point_right.png',
        accelerator: 'Alt+Right',
        click() {
            nav.goForward()
        }
    },
    {type:'separator'}, 
    {role: 'toggledevtools'},
    {role: 'quit'}
]

const contextmenu = Menu.buildFromTemplate(menuoptions)
const toolsmenu = Menu.buildFromTemplate([{
    label: 'Tools',
    submenu: menuoptions
},
{type:'separator'}, 
{type:'separator'}, 
{type:'separator'}, 
{type:'separator'}, 
{
    id: 'bb',
    icon: 'C:/Users/bvanlogg/Documents/ElectronFiddle/point_left.png',
    label:'Back',
    click() {
        nav.goBack()
    }
},
{
    id: 'ff',
    label:'Forward',
    icon: 'C:/Users/bvanlogg/Documents/ElectronFiddle/point_right.png',
    click() {
        nav.goForward()
    }
}
])
Menu.setApplicationMenu(toolsmenu);

// start the renderer
app.on('ready', () => {
    viewerWindow = new BrowserWindow({
        x: 336,
        y: 280, 
        height: 601,
        width: 1248, 
        show: false
    })
    viewerWindow.setMenu(toolsmenu);
    viewerWindow.webContents.on('context-menu', e => {
        contextmenu.popup()
    })
    docurl = path.resolve(`${__dirname}/index.html`);
    viewerWindow.loadURL(docurl);

    viewerWindow.on('ready-to-show', () => {
        viewerWindow.show();
    })



})
// Quit when all windows are closed.
app.on('window-all-closed', function ()
{
    app.quit();
})