如何正确引入第三方模块,解决Electron中模块编译失败问题

开发Electron项目时,难免会遇到某些库build会失败,很常见的如 : sqlite3、edge.js等。这是因为这些库依赖于c++,并不是每一个版本Electron都可以使用,所以必须重新通过c++编译成当前electron版本可用版本。
环境需要:
python2.7(截至到目前,必须是2.7版本,3.6不行)前往下载
Visual Studio Build Tools(建议使用2015,2017未测试。如果电脑已经有Visual Studio,启动修复,把c++相关都勾上下载即可)前往下载。或者直接npm install --global --production windows-build-tools即可免去安装VS的麻烦。
方法一 :使用node-gyp
// 全局安装node-gyp
npm install node-gyp -g

// 在node_modules中找到需要重新编译的库的位置
cd ./node_modules/xxx库

// 执行rebuild指令,指定当前electron版本
node-gyp rebuild --target=当前electron版本 --arch=x64 --dist-url=https://atom.io/download/atom-shell

// 成功执行完即可使用

node-gyp github

方法二 : 使用electron-rebuild(推荐)
// 安装electron-rebuild,不需要全局安装
npm install --save-dev electron-rebuild

//执行命令
./node_modules/.bin/electron-rebuild

// 在windows下如果上述命令遇到了问题,尝试:
./node_modules/.bin/electron-rebuild.cmd

// 这种方法会将node_modules中所有需要重新编译的库全部自动编译,不需要一个个去执行

// 成功执行完即可使用

electron-rebuild github

常见问题 :

Error: gyp WARN install got an error, rolling back install
解决方案:尝试删除electron重新下载

Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe failed with exit code: 1
解决方案:修改命令为 electron-rebuild -f -w yourmodule 执行

你可能感兴趣的:(Electron)