Usando Módulos Nativos do Node
Os módulos nativos do Node são suportados pelo Electron, desde que o Electron esteja usando uma versão diferente da oficial V8 do Node, você tem de especificar manualmente a localização das headers do Electron quando compilar os módulos nativos.
Compatibilidade de Módulos Nativos do Node
Módulos nativos podem quebrar quando utilizar a nova versão do Node, V8.
Para ter certeza que o módulo que você está interessado em trabalhar com o
Electron, você deve checar se a versão do Node utilizada é compatível com a
usada pelo Electron.
Você pode verificar qual versão do Node foi utilizada no Electron olhando na
página releases ou usando
process.version
(veja Quick Start
por exemplo).
Considere usar NAN para seus próprios módulos, caso isso facilite o suporte da múltiplas versões do Node. Isso é também de grande ajuda para fazer a portabilidade dos módulos antigos para as versões mais novas do Node, assim podendo trabalhar com o Electron.
Como Instalar os Módulos Nativos
Existem três maneiras de instalar os módulos nativos:
O Modo Fácil
O modo mais direto para recompilar os módulos é pelo pacote
electron-rebuild
,
o que lida com passos manuais para baixar as headers e construir os módulos
nativos:
npm install --save-dev electron-rebuild
# Sempre que rodar npm install, execute também:
node ./node_modules/.bin/electron-rebuild
Via npm
Você pode usar também npm
para instalar os módulos. Os passos são exatamente
os mesmos com os módulos Node, exceto que você precisa configurar algumas
variáveis da ambiente:
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
O modo node-gyp
Para compilar os módulos do Node com as headers do Electron, você precisa dizer
ao node-gyp
onde baixar as headers e qual versão usar:
$ cd /path-to-module/
$ HOME=~/.electron-gyp node-gyp rebuild --target=0.29.1 --arch=x64 --dist-url=https://atom.io/download/atom-shell
A tag HOME=~/.electron-gyp
altera onde encontrar as headers de desenvolvimento.
A tag --target=0.29.1
é a versão do Electron. A tag --dist-url=...
especifica
onde baixar as headers. A tag --arch=x64
diz ao módulo que é feito em 64bit.