Electron 使用原生模塊

2018-03-16 10:31 更新

Electron 同樣也支持原生模塊,但由于和官方的 Node 相比使用了不同的 V8 引擎,如果你想編譯原生模塊,則需要手動設置 Electron 的 headers 的位置。

原生Node模塊的兼容性

當 Node 開始換新的V8引擎版本時,原生模塊可能“壞”掉。為確保一切工作正常,你需要檢查你想要使用的原生模塊是否被 Electron 內置的 Node 支持。你可以在這里查看 Electron 內置的 Node 版本,或者使用 process.version (參考:快速入門)查看。

考慮到 NAN 可以使你的開發(fā)更容易對多版本 Node 的支持,建議使用它來開發(fā)你自己的模塊。你也可以使用 NAN 來移植舊的模塊到新的 Nod e版本,以使它們可以在新的 Electron 下良好工作。

如何安裝原生模塊

如下三種方法教你安裝原生模塊:

最簡單方式

最簡單的方式就是通過 electron-rebuild 包重新編譯原生模塊,它幫你自動完成了下載 headers、編譯原生模塊等步驟:

npm install --save-dev electron-rebuild

# 每次運行"npm install"時,也運行這條命令
./node_modules/.bin/electron-rebuild

# 在windows下如果上述命令遇到了問題,嘗試這個:
.\node_modules\.bin\electron-rebuild.cmd

通過 npm 安裝

你當然也可以通過 npm 安裝原生模塊。大部分步驟和安裝普通模塊時一樣,除了以下一些系統(tǒng)環(huán)境變量你需要自己操作:

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

通過 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 設置去哪找開發(fā)時的 headers。

--target=0.29.1 設置了 Electron 的版本

--dist-url=... 設置了 Electron 的 headers 的下載地址

--arch=x64 設置了該模塊為適配64位操作系統(tǒng)而編譯
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號