Synopsis to zh-CN
authorWeiqiang Lin <23leo@163.com>
Sun, 22 Jan 2017 06:17:29 +0000 (14:17 +0800)
committerWeiqiang Lin <23leo@163.com>
Sun, 22 Jan 2017 06:17:29 +0000 (14:17 +0800)
docs-translations/zh-CN/api/synopsis.md

index 5a457ca..c6cf07a 100644 (file)
@@ -1,71 +1,84 @@
 # 简介
 
-所有的[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)脚本的概念。
 
-```javascript
-const electron = require('electron')
-const app = electron.app
-const BrowserWindow = electron.BrowserWindow
+主进程脚本看起来像个普通的 Node.js 脚本:
 
-var window = null
+```javascript
+const {app, BrowserWindow} = require('electron')
+let win = null
 
-app.on('ready', function () {
-  window = new BrowserWindow({width: 800, height: 600})
-  window.loadURL('https://github.com')
+app.on('ready', () => {
+  win = new BrowserWindow({width: 800, height: 600})
+  win.loadURL('https://github.com')
 })
 ```
 
-渲染进程和传统的web界面一样,除了它具有使用node模块的能力:
+渲染进程和传统的 web 界面一样,除了它具有使用 node 模块的能力:
 
 ```html
 <!DOCTYPE html>
 <html>
 <body>
 <script>
-  const remote = require('electron').remote;
-  console.log(remote.app.getVersion());
+  const {app} = require('electron').remote
+  console.log(app.getVersion())
 </script>
 </body>
 </html>
 ```
 
-如果想运行应用,参考 `Run your app` 
+如果想运行应用,参考 [Run your app](../tutorial/quick-start.md#run-your-app)
 
 ## 解构任务
 
¦\82æ\9e\9c你使ç\94¨ç\9a\84æ\98¯CoffeeScriptæ\88\96Babelï¼\8cä½ å\8f¯ä»¥ä½¿ç\94¨[destructuring assignment][4]æ\9d¥è®©ä½¿ç\94¨å\86\85置模å\9d\97æ\9b´ç®\80å\8d\95:
\9c¨ v0.37 ç\89\88æ\9c¬ä¹\8bå\90\8eï¼\8cä½ å\8f¯ä»¥ä½¿ç\94¨[destructuring assignment][destructuring-assignment] æ\9d¥æ\9b´å\8a ç®\80å\8d\95å\9c°ä½¿ç\94¨å\86\85置模å\9d\97ã\80\82
 
 ```javascript
 const {app, BrowserWindow} = require('electron')
-```
-
-然而如果你使用的是普通的JavaScript,你就需要等到Chrome支持ES6了。
 
-##使用内置模块时禁用旧样式
+let win
 
-在版本v0.35.0之前,所有的内置模块都需要按造 `require('module-name')` 形式来使用,虽然它有很多[弊端][5],我们仍然在老的应用中友好的支持它。
+app.on('ready', () => {
+  win = new BrowserWindow()
+  win.loadURL('https://github.com')
+})
+```
 
-为了完整的禁用旧样式,你可以设置环境变量 `ELECTRON_HIDE_INTERNAL_MODULES ` :
+如果你需要整个 `electron` 模块,你可以加载并使用
+从 `electron` 解构访问各个模块。
 
 ```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
-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')
+})
+```
 
- [1]:http://nodejs.org/api/
- [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
\ No newline at end of file
+[gui]: https://en.wikipedia.org/wiki/Graphical_user_interface
+[destructuring-assignment]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment