【问题标题】:Electron Menus and Project Structure电子菜单和项目结构
【发布时间】:2020-01-28 20:34:48
【问题描述】:

Electron 的新手,从一些 YouTube 视频和 Udemy 课程中学习。

我有几个示例应用程序正在运行 - 到目前为止一切都很好,但我的问题是:

现在我开始考虑将用于更大、更有意义的应用程序的设计/结构,我想将所有菜单移动到像“menuTemplates”这样的源文件夹中,并且在该文件夹中我可能需要要存储 10-15 种不同的菜单结构。

在每个文件中,我希望能够放置如下结构:

 {
    label: "Menu",
      submenu: [
        { 
          label: "One",
          submenu: []
        },
        {
          label: "Two",
          submenu: []
        },
        {
          label: "Quit", 
          click() {
            app.quit()
          }
        }
      ]
 }

换句话说,我只想将定义菜单的 json 文档放入如下内容:

menuTemplates/menuMain.js

menuTemplates/browseForFileModel,js

menuTemplates/editUrl.js

每个文件包含正确菜单的位置取决于用户在应用中的“位置”以及他们尝试执行的操作。

有人可以为我指出如何实现这一目标的正确方向吗?这些 .js 文件中的每一个都应该是一个模块吗?如果是这样,什么以及如何导出 json?

我希望 Menu.buildFromTemplate() 只接受一个路径。那会让生活变得简单得多。 谢谢!

【问题讨论】:

    标签: node.js menu electron


    【解决方案1】:

    您可以拥有非常简单的模块,每个模块只需导出一个菜单模板对象:

    // menuTemplates/menu1.js
    
    module.exports = {
        label: "Menu",
        submenu: [
            // menu template ..
        ]
    }
    

    然后你就可以构建你所知道的菜单了:

    const menu1_template = require("menuTemplates/menu1.js");
    const menu1 = Menu.buildFromTemplate(menu1_template);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 2014-02-20
      • 2016-06-15
      相关资源
      最近更新 更多