这个REPO已被弃用
这个 repo 代表了创建和发布Electron应用程序的 "老方法",基于 Atom 的构建过程 -- 虽然这种方法仍然有效,而且这个 repo 中仍然有一些好的想法,但实际上使用 electron-prebuilt 和 electron-packager 来入门要容易得多。
Electron 入门应用
electron-starter 是一个基础应用,你可以通过 Electron 开始编写自己的跨平台(Win/Mac/Linux)桌面应用。这个模板是从 Atom 源码中提取出来的,经过清理后更加通用,是一个生产应用程序的良好起点。
入门
Electron Starter 中的所有内容均通过 package.json 文件进行配置 -- 有一些额外的字段值得关注:
- name -- 将在构建工具中使用的应用程序的名称。让它变得简单。
- productName -- 产品名称 -- 您的可执行文件将被称为此文件(即“MyApp.app”)
默认项目名为 EightOhEight(明白吗?因为它是一个sample(r))。
一旦你设定好了,就去做:
- script/bootstrap -- 每次结帐运行一次。
- script/build -- 每当更改 package.json 或更改早期启动代码时运行此命令
- script/run -- 运行应用程序。使用此功能以开发人员模式运行应用程序
另一个有用的脚本是 script/grunt ,它将运行本地版本的 Grunt。 script/grunt --help 会告诉你可用任务的列表。
使用 JavaScript ES6
对于几乎所有文件,JavaScript ES6/ESNext都可以通过Babel项目获得,除了非常早的启动。要使用它,请在您的文件顶部添加'使用babel'; 。查看 https://babeljs.io 了解更多信息。
什么是“浏览器”与“渲染器”代码?
Electron 有(至少)两个不同的上下文 -- 当你的应用第一次启动时,它运行在一个无 DOM 的 node.js 循环中 -- 没有窗口。这被称为浏览器上下文。内置代码继续启动一个 BrowserWindow 对象,然后创建一个 Rendering 上下文,这更符合你的习惯 - 它具有 Chrome DevTools 和一个 DOM,但它仍然可以使用 node.js,以及几个可用的 Electron API。查阅 Electron 文档,了解更多关于您可以做的事情。
您的应用程序的大部分代码理想情况下都应位于渲染 环境中,因为浏览器环境难以调试和测试 -- 没有 Chrome 开发工具,仅基于 printf 调试。
为什么$MY_FAVORITE_LIBRARY不能工作/做奇怪的事情?
一些 JavaScript 库试图通过探测 module 或 require 来检测它们是否在 node.js 中,并假定它们不在浏览器中。你可能会发现,你需要给这些库打上补丁,让它们始终在浏览器模式下运行。
(The first version translated by vz on 2020.08.22)