前一段时间,nw.js 项目中想用一个本地数据,最后选择了sqlite3。选好以后就开始干吧,结果mmp,被坑了很久。node
nw.js官方文档也有调用node原生模块的API,可是照着文档那样配置,觉得会成功,然而,那一刻个人心是凉的,结果是并无成功,而后各类瞎搞,仍是失败了。python
最后百度呀,google啊,搜了一大堆相关资料,怎么地,没辙呀,照着那些资料一步一步来呗,庆幸的是功夫不负有心人呀哈哈,竟然成功了,尽管花了好长好长的时间,可是不要在乎这些细节是吧。c++
反正这个坑踩了好久,才过去的。好了废话很少说了,上方法吧,以下:web
第一步:安装node.js,这个不用太多废话,这个是必须的,我安装的是32位的,由于个人项目要兼容32位和64位的系统;sql
第二步:安装python,我安装的是python2.7,听说是py3.0不支持,我也没去试,前面已经花了很长时间踩坑了,懒得试;npm
第三步:安装vs工具,我安装的是vs2015,这个是用来编译c++的,不懂c++不要紧,安装好了就能够了,不用进行别的操做,只须要这么一个环境就能够了,这个很大,要安装好久;python2.7
第四步:全局安装node-pre-gyp, npm install node-pre-gyp -g ,这个是用来从新编译sqlite3的工具;工具
第五步:固然是安装sqlite3咯,在你的项目中, npm install sqlite3 --save ;ui
第六步:命令行cd到你项目中sqlite3目录下;google
第七步:这差很少算是最后一步了吧,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的方法,在个人项目中以后一点问题都没有,在这里给那些正在踩坑或者还在踩坑的小伙伴们参考下哈;废话比较多哦,没办法,我在咱们公司就是个相声演员,个人搭档(后台)是捧哏,至于我呢,我固然是逗哏。结束!!