Electron 简介
编辑教程Electron 简介
Electron提供了丰富的本地(操作系统)的API,使你能使用纯JavaScript来创建桌面应用程序。
与其它各种的Node.js运行时不同的是Electron专注于桌面应用程序而不是Web服务器。
Electron 可以让你使用纯 JavaScript 调用丰富的原生 APIs 来创造桌面应用。
可以把它看作是专注于桌面应用而不是 web 服务器的,io.js 的一个变体。
这不意味着 Electron 是绑定了 GUI 库的 JavaScript。相反,Electron 使用 web 页面作为它的 GUI,所以你能把它看作成一个被 JavaScript 控制的,精简版的 Chromium 浏览器。
所有的 Node.js's built-in modules 在 Electron 中都可用,并且所有的 node 的第三方组件也可以放心使用(包括自身的模块)。
Electron 也提供了一些额外的内置组件来开发传统桌面应用。一些组件只可以在主进程中使用,一些只可以在渲染进程中使用,但是也有部分可以在这 2 种进程中都可使用。
基本规则:GUI 模块或者系统底层的模块只可以在主进程中使用。要使用这些模块,你应当很熟悉主进程 vs 渲染进程脚本的概念。
主进程脚本看起来像个普通的 nodejs 脚本
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
var window = null;
app.on('ready', function() {
window = new BrowserWindow({width: 800, height: 600});
window.loadURL('https://www.jsrun.cn');
});
渲染进程和传统的 web 界面一样,除了它具有使用 node 模块的能力:
<!DOCTYPE html>
<html>
<body>
<script>
const remote = require('electron').remote;
console.log(remote.app.getVersion());
</script>
</body>
</html>
如果想运行应用,参考 Run your app 。
解构任务
如果你使用的是 CoffeeScript 或 Babel,你可以使用 destructuring assignment 来让使用内置模块更简单:
const {app, BrowserWindow} = require('electron');
然而如果你使用的是普通的 JavaScript,你就需要等到 Chrome 支持 ES6了。
使用内置模块时禁用旧样式 在版本 v0.35.0 之前,所有的内置模块都需要按造 require('module-name') 形式来使用,虽然它有很多弊端,我们仍然在老的应用中友好的支持它。
为了完整的禁用旧样式,你可以设置环境变量 ELECTRON_HIDE_INTERNAL_MODULES :
process.env.ELECTRON_HIDE_INTERNAL_MODULES = 'true'
或者调用 hideInternalModules API:
require('electron').hideInternalModules()
选择支付方式:
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间