前一段时间,nw.js 项目中想用一个本地数据,最后选择了sqlite3。选好之后就开始干吧,结果mmp,被坑了好久。

nw.js官方文档也有调用node原生模块的API,但是照着文档那样配置,以为会成功,然而,那一刻我的心是凉的,结果是并没有成功,然后各种瞎搞,还是失败了。

最后百度呀,google啊,搜了一大堆相关资料,怎么地,没辙呀,照着那些资料一步一步来呗,庆幸的是功夫不负有心人呀哈哈,居然成功了,尽管花了好长好长的时间,但是不要在意这些细节是吧。

反正这个坑踩了很久,才过去的。好了废话不多说了,上方法吧,如下:

第一步:安装node.js,这个不用太多废话,这个是必须的,我安装的是32位的,因为我的项目要兼容32位和64位的系统;

第二步:安装python,我安装的是python2.7,据说是py3.0不支持,我也没去试,前面已经花了很长时间踩坑了,懒得试;

第三步:安装vs工具,我安装的是vs2015,这个是用来编译c++的,不懂c++没关系,安装好了就可以了,不用进行别的操作,只需要这么一个环境就可以了,这个很大,要安装很久;

第四步:全局安装node-pre-gyp, npm install node-pre-gyp -g ,这个是用来重新编译sqlite3的工具;

第五步:当然是安装sqlite3咯,在你的项目中, npm install sqlite3 --save ;

第六步:命令行cd到你项目中sqlite3目录下;

第七步:这差不多算是最后一步了吧,cd到sqlite3目录下之后,然后执行命令: node-pre-gyp rebuild --runtime=node-webkit --target=0.14.7 这个0.14.7是为了编译成与你用的nw.js版本号一致的sqlite3版本,这里我用的是nw.js 0.14.7,因为这个项目需要兼容XP系统,nw.js 官方文档指定了0.14.7及其以下才支持XP系统。所以选择用了0.14.7;

执行完之后,are you fack kidding me ? ,成功了!!!!!!,有些时候老天就喜欢捉弄你,折磨你半天,然后不经意间给你一些甜头,唉!!!不说了,都是泪啊,你以为就这么完了?,不不不,还没有呢,接着搞吧;

  当你在项目中 const sqlite3 = require('sqlite3').verbose(); 的时候,mmp又报错了,真是此起披伏呀;

  报的是:  can't resolve module 'aws-sdk' ,没辙,接着搞,安装一下呗; 先cd 到项目中sqlite3的目录下,然后 npm install aws-sdk --save-dev ;

然后再跑项目,真的是一顿操作猛如虎呀,你说奇妙不奇妙,幸福来的就是这么突然,成功了成功了!!!!!!

到这里整个流程就结束了,以上就是nw.js中预编译sqlite3的方法,在我的项目中之后一点问题都没有,在这里给那些正在踩坑或者还在踩坑的小伙伴们参考下哈;废话比较多哦,没办法,我在我们公司就是个相声演员,我的搭档(后台)是捧哏,至于我呢,我当然是逗哏。结束!!

最新文章

  1. 如何在Node.js中合并两个复杂对象
  2. Web 前端之HTML和CSS
  3. Yii2.0学习笔记:第一个页面Saying Hello
  4. ssh无法登录linux服务器的解决办法
  5. 2013年 蓝桥杯预赛 java 本科A 题目
  6. C#委托的介绍(delegate、Action、Func、predicate)【转】
  7. how to run demo city bars using sencha architect
  8. 我所理解的OOP——UML六种关系(转)
  9. C++ builder 生成以管理员身份运行的exe
  10. 如何实现简单的位数组(bit array)(转)
  11. SpringCloud学习之feign
  12. 配置MySQL的数据源
  13. 我为什么要花大力气从头研发智表ZCELL(一个仿EXCEL的前端插件)
  14. 多输入select
  15. SQL注入之Sqli-labs系列第五十关,第五十一关,第五十二关,第五十三关(ORDER BY堆叠注入)
  16. python leetcode 字符串相乘
  17. Win32汇编学习(11):对话框(2)
  18. 微信小程序scroll-view 横向和纵向scroll-view组件
  19. 7.STL
  20. MSSQL SQL Server代理 作业 设置(调用存储过程)

热门文章

  1. Linux/Window之定时任务脚本编写
  2. 通过命令修改mysql的提示符(转)
  3. 机器学习用Pandas实现数据库的读取
  4. sql的四种匹配模式
  5. zimbra6同域名与同hostname与同系统异机恢复
  6. Selective Kernel Network
  7. 泛型约束new()的使用
  8. <A>标记onclick事件
  9. 使用element-ui遇到的各种小问题
  10. 实验一《Java开发环境的熟悉》_实验报告