Synopsis to zh-CN
This commit is contained in:
parent
64a1b1c474
commit
86521f325b
1 changed files with 46 additions and 33 deletions
|
@ -1,23 +1,22 @@
|
||||||
# 简介
|
# 简介
|
||||||
|
|
||||||
所有的[Node.js's built-in modules][1]在Electron中都可用,并且所有的node的第三方组件也可以放心使用(包括[自身的模块][2])。
|
> 如何使用 Node.js 和 Electron APIs。
|
||||||
|
|
||||||
Electron也提供了一些额外的内置组件来开发传统桌面应用。一些组件只可以在主进程中使用,一些只可以在渲染进程中使用,但是也有部分可以在这2种进程中都可使用。
|
所有的[Node.js's built-in modules](https://nodejs.org/api/)在 Electron 中都可用,并且所有的 node 的第三方组件也可以放心使用(包括[自身的模块](../tutorial/using-native-node-modules.md))。
|
||||||
|
|
||||||
基本规则:GUI模块或者系统底层的模块只可以在主进程中使用。要使用这些模块,你应当很熟悉[主进程vs渲染进程][3]脚本的概念。
|
Electron 也提供了一些额外的内置组件来开发传统桌面应用。一些组件只可以在主进程中使用,一些只可以在渲染进程中使用( web 页面),但是也有部分可以在这2种进程中都可使用。
|
||||||
|
|
||||||
主进程脚本看起来像个普通的nodejs脚本
|
基本规则:GUI模块或者系统底层的模块只可以在主进程中使用。要使用这些模块,你应当很熟悉[主进程vs渲染进程](../tutorial/quick-start.md#main-process)脚本的概念。
|
||||||
|
|
||||||
|
主进程脚本看起来像个普通的 Node.js 脚本:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const electron = require('electron')
|
const {app, BrowserWindow} = require('electron')
|
||||||
const app = electron.app
|
let win = null
|
||||||
const BrowserWindow = electron.BrowserWindow
|
|
||||||
|
|
||||||
var window = null
|
app.on('ready', () => {
|
||||||
|
win = new BrowserWindow({width: 800, height: 600})
|
||||||
app.on('ready', function () {
|
win.loadURL('https://github.com')
|
||||||
window = new BrowserWindow({width: 800, height: 600})
|
|
||||||
window.loadURL('https://github.com')
|
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -28,44 +27,58 @@ app.on('ready', function () {
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
<script>
|
<script>
|
||||||
const remote = require('electron').remote;
|
const {app} = require('electron').remote
|
||||||
console.log(remote.app.getVersion());
|
console.log(app.getVersion())
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
```
|
```
|
||||||
|
|
||||||
如果想运行应用,参考 `Run your app` 。
|
如果想运行应用,参考 [Run your app](../tutorial/quick-start.md#run-your-app)。
|
||||||
|
|
||||||
## 解构任务
|
## 解构任务
|
||||||
|
|
||||||
如果你使用的是CoffeeScript或Babel,你可以使用[destructuring assignment][4]来让使用内置模块更简单:
|
在 v0.37 版本之后,你可以使用[destructuring assignment][destructuring-assignment] 来更加简单地使用内置模块。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
const {app, BrowserWindow} = require('electron')
|
const {app, BrowserWindow} = require('electron')
|
||||||
|
|
||||||
|
let win
|
||||||
|
|
||||||
|
app.on('ready', () => {
|
||||||
|
win = new BrowserWindow()
|
||||||
|
win.loadURL('https://github.com')
|
||||||
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
然而如果你使用的是普通的JavaScript,你就需要等到Chrome支持ES6了。
|
如果你需要整个 `electron` 模块,你可以加载并使用
|
||||||
|
从 `electron` 解构访问各个模块。
|
||||||
##使用内置模块时禁用旧样式
|
|
||||||
|
|
||||||
在版本v0.35.0之前,所有的内置模块都需要按造 `require('module-name')` 形式来使用,虽然它有很多[弊端][5],我们仍然在老的应用中友好的支持它。
|
|
||||||
|
|
||||||
为了完整的禁用旧样式,你可以设置环境变量 `ELECTRON_HIDE_INTERNAL_MODULES ` :
|
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
process.env.ELECTRON_HIDE_INTERNAL_MODULES = 'true'
|
const electron = require('electron')
|
||||||
|
const {app, BrowserWindow} = electron
|
||||||
|
|
||||||
|
let win
|
||||||
|
|
||||||
|
app.on('ready', () => {
|
||||||
|
win = new BrowserWindow()
|
||||||
|
win.loadURL('https://github.com')
|
||||||
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
或者调用 `hideInternalModules` API:
|
这相当于以下代码:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
require('electron').hideInternalModules()
|
const electron = require('electron')
|
||||||
|
const app = electron.app
|
||||||
|
const BrowserWindow = electron.BrowserWindow
|
||||||
|
let win
|
||||||
|
|
||||||
|
app.on('ready', () => {
|
||||||
|
win = new BrowserWindow()
|
||||||
|
win.loadURL('https://github.com')
|
||||||
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[gui]: https://en.wikipedia.org/wiki/Graphical_user_interface
|
||||||
[1]:http://nodejs.org/api/
|
[destructuring-assignment]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
|
||||||
[2]:https://github.com/heyunjiang/electron/blob/master/docs/tutorial/using-native-node-modules.md
|
|
||||||
[3]:https://github.com/heyunjiang/electron/blob/master/docs/tutorial/quick-start.md#the-main-process
|
|
||||||
[4]:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
|
|
||||||
[5]:https://github.com/electron/electron/issues/387
|
|
||||||
|
|
Loading…
Reference in a new issue