inxworld

~!#$%^&*()_+

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

系统 WIN10 X64

1. python-2.7.15.amd64.msi

2. node-v10.4.1-x64.msi

3. VS2015 community(社区版)

4. npm config set registry https://registry.npm.taobao.org  设置淘宝镜像

5. npm install npm -g 安装最新npm

6. npm install node-pre-gyp -g  && npm install node-gyp -g

7. (简单的案例:electron-quick-start )git clone https://github.com/electron/electron-quick-start

进入electron-quick-start文件夹下 npm install 把需要的模块下载安装 npm start启动可以看到这个简单的案例

===========================

上述就是一个常规的流程

因为我的项目中使用sqlite3 ,所以之前是用npm install sqlite3 --save安装的

 (--save 是添加到dependencies,是需要发布到生产环境的;devDependencies 里面的插件只用于开发环境,不用于生产环境)

之前electron 2.0.0下编译的可以加载使用sqlite3,升级后electron是2.0.2的, 需要重新编译 

进入 ./node_modules/sqlite3/ 文件夹下重新执行了编译  node-pre-gyp rebuild --runtime=electron --target_arch=x64 --target=2.0.2 

npm start 我的程序的时候 

var sqlite3 = require("sqlite3").verbose();
 
报错

Error: A dynamic link library (DLL) initialization routine failed

因为electron和node.js用的V8版本不一致,所以直接使用npm安装的模块可能在electron中不可用,特别是使用c、c++开发的模块。

npm install --save-dev electron-rebuild

./node_modules/.bin/electron-rebuild
在windows下如果上述命令遇到了问题,可以尝试使用下面这个:
.\node_modules\.bin\electron-rebuild.cmd

最后提示
√ Rebuild Complete
 
npm start 程序启动后已经不提示错误,正确引用了sqlite3


posted on 2018-06-17 11:32  inxworld  阅读(617)  评论(0编辑  收藏  举报