• 使用原生模块
    • 原生Node模块的兼容性
    • 如何安装原生模块
      • 最简单方式
      • 通过npm安装
      • 通过node-gyp安装

    使用原生模块

    Electron同样也支持原生模块,但由于和官方的Node相比使用了不同的V8引擎,如果你想编译原生模块,则需要手动设置Electron的headers的位置。

    原生Node模块的兼容性

    当Node开始换新的V8引擎版本时,原生模块可能“坏”掉。为确保一切工作正常,你需要检查你想要使用的原生模块是否被Electron内置的Node支持。你可以在这里查看Electron内置的Node版本,或者使用process.version(参考:快速入门)查看。

    考虑到NAN可以使你的开发更容易对多版本Node的支持,建议使用它来开发你自己的模块。你也可以使用NAN来移植旧的模块到新的Node版本,以使它们可以在新的Electron下良好工作。

    如何安装原生模块

    如下三种方法教你安装原生模块:

    最简单方式

    最简单的方式就是通过electron-rebuild包重新编译原生模块,它帮你自动完成了下载headers、编译原生模块等步骤:

    1. npm install --save-dev electron-rebuild
    2. # 每次运行"npm install"时,也运行这条命令
    3. ./node_modules/.bin/electron-rebuild
    4. # 在windows下如果上述命令遇到了问题,尝试这个:
    5. .\node_modules\.bin\electron-rebuild.cmd

    通过npm安装

    你当然也可以通过npm安装原生模块。大部分步骤和安装普通模块时一样,除了以下一些系统环境变量你需要自己操作:

    1. export npm_config_disturl=https://atom.io/download/atom-shell
    2. export npm_config_target=0.33.1
    3. export npm_config_arch=x64
    4. export npm_config_runtime=electron
    5. HOME=~/.electron-gyp npm install module-name

    通过node-gyp安装

    你需要告诉node-gyp去哪下载Electron的headers,以及下载什么版本:

    1. $ cd /path-to-module/
    2. $ 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设置了该模块为适配64bit操作系统而编译