本节咱们学习如何在 Electron
中使用 Node
原生模块。node
Electron
支持原生的 Node
模块,但因为和官方的 Node
相比,Electron
有可能使用一个和咱们系统上所安装的 Node
不一样的 V8
引擎,因此使用的模块须要从新编译才能使用。若是咱们想编译原生模块,则须要手动设置 Electron
的 headers
的位置。shell
有三种安装原生模块的方法,分别是 :npm
Electron
安装并从新编译模块。npm
安装原生模块。Electron
手动编译。最简单的方式就是经过 electron-rebuild
包为 Electron
重建模块,该模块能够自动肯定 Electron
的版本,并处理下载 headers
、为应用程序重建本机模块等步骤。windows
例如要经过 electron-rebuild
来重建模块,首先须要安装 electron-rebuild
:缓存
npm install --save-dev electron-rebuild
每次运行 npm install
时,也会同时运行下面这条命令:bash
./node_modules/.bin/electron-rebuild
在 windows
下若是上述命令遇到了问题,能够尝试执行以下命令:架构
.\node_modules\.bin\electron-rebuild.cmd
咱们还能够经过 npm
来直接安装原生模块。大部分步骤和安装普通模块时同样,可是须要本身设置一些系统环境变量。electron
例如要安装全部 Electron
的依赖:学习
# Electron的版本 export npm_config_target=1.2.3 # Electron的目标架构 export npm_config_arch=x64 export npm_config_target_arch=x64 # 下载Electron的headers export npm_config_disturl=https://electronjs.org/headers # 告诉node-pre-gyp咱们是在为Electron生成模块 export npm_config_runtime=electron # 告诉node-pre-gyp从源代码构建模块 export npm_config_build_from_source=true # 安装全部依赖,并缓存到 ~/.electron-gyp HOME=~/.electron-gyp npm install
原生模块的开发人员若是想要在 Electron
中进行测试,可能要手动编译 Electron
模块。可使用 node-gyp
来直接编译。测试
例如咱们要告诉 node-gyp
去哪下载 Electron
的 headers
,以及下载什么版本:
$ cd /path-to-module/ $ HOME=~/.electron-gyp node-gyp rebuild --target=0.29.1 --arch=x64 --dist-url=https://atom.io/download/atom-shell
HOME=~/.electron-gyp
:设置去哪找开发时的 headers
。--target=0.29.1
:设置了 Electron
的版本。--dist-url=...
:设置了 Electron
的 headers
的下载地址。--arch=x64
:设置了该模块为适配 64 位操做系统而编译。