electron/docs-translations/zh-CN/api/synopsis.md
2016-10-11 22:36:11 -07:00

2.3 KiB
Raw Blame History

简介

所有的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://github.com')
})

渲染进程和传统的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()