电子菜单和项目结构
Electron Menus and Project Structure
Electron 的新手,从一些 YouTube 视频和 Udemy 课程中学习。
我有几个示例应用程序,运行 - 到目前为止还不错,但我的问题是:
既然我开始考虑 design/structure,我会用它来做一个更大、更有意义的应用程序,我想将我所有的菜单移动到像 '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
每个文件包含正确菜单的位置取决于用户 'is' 在应用程序中的位置以及他们正在尝试做什么。
有人可以为我指明正确的方向以实现这一目标吗?每个 .js 文件都应该是一个模块吗?如果是,导出什么以及如何导出 json?
我希望 Menu.buildFromTemplate() 只接受一条路径。那会让生活变得简单得多。
谢谢!
您可以拥有非常简单的模块,每个模块只导出一个菜单模板对象:
// menuTemplates/menu1.js
module.exports = {
label: "Menu",
submenu: [
// menu template ..
]
}
然后您可以构建您所知道的菜单:
const menu1_template = require("menuTemplates/menu1.js");
const menu1 = Menu.buildFromTemplate(menu1_template);
Electron 的新手,从一些 YouTube 视频和 Udemy 课程中学习。
我有几个示例应用程序,运行 - 到目前为止还不错,但我的问题是:
既然我开始考虑 design/structure,我会用它来做一个更大、更有意义的应用程序,我想将我所有的菜单移动到像 '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
每个文件包含正确菜单的位置取决于用户 'is' 在应用程序中的位置以及他们正在尝试做什么。
有人可以为我指明正确的方向以实现这一目标吗?每个 .js 文件都应该是一个模块吗?如果是,导出什么以及如何导出 json?
我希望 Menu.buildFromTemplate() 只接受一条路径。那会让生活变得简单得多。 谢谢!
您可以拥有非常简单的模块,每个模块只导出一个菜单模板对象:
// menuTemplates/menu1.js
module.exports = {
label: "Menu",
submenu: [
// menu template ..
]
}
然后您可以构建您所知道的菜单:
const menu1_template = require("menuTemplates/menu1.js");
const menu1 = Menu.buildFromTemplate(menu1_template);