企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 第20章.API简介 > 如何使用 Node.js 和 Electron APIs。 所有 [Node.js 的内建模块](https://nodejs.org/api/) 都可以在 Electron 中使用,第三方 node 模块同样可以完全支持(包括 [原生模块](../tutorial/using-native-node-modules.md))。 Electron 还提供了一些额外的内建模块用于开发原生桌面应用。一些模块只能在主进程中使用,一些只能在渲染进程(web 页面)中使用,还有一些在两种进程中都可以使用。 基本的原则是:如果一个模块是 [GUI][gui] 或者底层系统相关的,那么它只能用在主进程中。你需要熟悉 [主进程 vs. 渲染进程](../tutorial/quick-start.md#main-process) 脚本的概念来使用这些模块。 主进程脚本就像一般的 Node.js 脚本: ```javascript const {app, BrowserWindow} = require('electron') let win = null app.on('ready', () => { win = new BrowserWindow({width: 800, height: 600}) win.loadURL('https://github.com') }) ``` 渲染进程和一般的 web 页面没有什么区别,除了额外使用 node 模块的能力之外: ```html <!DOCTYPE html> <html> <body> <script> const {app} = require('electron').remote console.log(app.getVersion()) </script> </body> </html> ``` 要运行你的 应用,阅读 [Run your app](../tutorial/quick-start.md#run-your-app)。 ## 解构赋值 从 0.37 起,你可以使用 [解构赋值][destructuring-assignment] 以更容易的使用内建模块。 ```javascript const {app, BrowserWindow} = require('electron') let win app.on('ready', () => { win = new BrowserWindow() win.loadURL('https://github.com') }) ``` 如果你需要整个 `electron` 模块,可以 require 它,然后使用结构从 `electron` 中访问单独的模块。 ```javascript const electron = require('electron') const {app, BrowserWindow} = electron let win app.on('ready', () => { win = new BrowserWindow() win.loadURL('https://github.com') }) ``` 这和下面的代码是等效的: ```javascript 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 * [destructuring-assignment]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment