nw.js中用sqlite3
前一段时间,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的方法,在我的项目中之后一点问题都没有,在这里给那些正在踩坑或者还在踩坑的小伙伴们参考下哈;废话比较多哦,没办法,我在我们公司就是个相声演员,我的搭档(后台)是捧哏,至于我呢,我当然是逗哏。结束!!
nw.js中用sqlite3的更多相关文章
- nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞
第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...
- 使用NW.js封装微信公众号菜单编辑器为桌面应用
开发微信公众号的朋友都会遇到一个常见的需求就是修改自定义菜单,如果每个人都去开发这个不经常使用的功能确实有点浪费时间.前段时间在github上找到一个仿企业号的菜单编辑界面,结合微信的C# SDK开发 ...
- 修改nw.js的exe文件使其请求管理员权限
修改nw.js的exe文件使其请求管理员权限 默认情况下,nw.js发布的nw.exe文件请求的是普通权限,当我们的应用需要访问一些特殊目录或者注册表等,就需要程序启动的时候以管理员权限运行.那么此时 ...
- nw.js FrameLess Window下的窗口拖拽与窗口大小控制
nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将fr ...
- nw.js如何处理拖放操作
nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了. 首先我们看一下一个正常的页面,直接拖放 ...
- 用node-webkit(NW.js)创建桌面程序
以往写windows桌面程序需要用MFC.C#之类的技术,那么如果你只会web开发技术呢?或者说你有一个网站,但是你想把你的网站打包成一个桌面应用程序,该如何做呢? 答案就是用node-webkit这 ...
- RegexKit: A Regular Expression Toolbox Based On NW.js(Node-Webkit) And Other Greate Open Source Projects.
RegexKit RegexKit: A Regular Expression Toolbox Based On NW.js(Node-Webkit) And Other Greate Open So ...
- 使用nw.js将html项目打包为桌面程序
首先需要确保电脑已经布置好node.js环境 1.下载并全局安装nw.js npm install nw -g 2.安装nw-builder模块 npm install nw-builder -g 3 ...
- nw.js桌面程序自动更新(node.js表白记)
Hello Google Node.js 一个基于Google V8 的JavaScript引擎. 一个伟大的端至端语言,或许我对你的热爱源自于web这门极富情感的技术吧! 注: 光阴似水,人生若梦, ...
随机推荐
- 关于HashSet集合add元素
HashSet集合add元素底层实现使用的是HashMap. 简单记忆:无论HashMap put元素还是HashSet add元素,都先调用hashCode()方法,若hashCode方法返回值不同 ...
- Selenium-ActionChainsApi--鼠标连贯操作
ActionChains UI自动化测试过程中,经常遇到那种,需要鼠标悬浮后,要操作的元素才会出现的这种场景,那么我们就要模拟鼠标悬浮到某一个位置,做一系列的连贯操作,Selenium给我们提供了Ac ...
- (三)ORB特征匹配
ORBSLAM2匹配方法流程 在基于特征点的视觉SLAM系统中,特征匹配是数据关联最重要的方法.特征匹配为后端优化提供初值信息,也为前端提供较好的里程计信息,可见,若特征匹配出现问题,则整个视觉SLA ...
- [经验交流] 试用基于 influxdb+kapacitor 的监控系统
2017年10月16日: 使用中发现kapacitor的ui过于简单,不能满足实际工作需要,现已切换到grafana --------- 两个月前试用了基于 elasticsearch + xpack ...
- 2018-2019 网络对抗技术 20165231 Exp4 恶意代码分析
实验目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systrac ...
- FATAL ERROR: please install the following Perl modules before executing
运行安装mysql 报错 [root@localhost mysql-mult]# ./scripts/mysql_install_db --defaults-file=conf/3306my.cn ...
- day13 Python数据基本类型
算数运算 / x除以y // 取整除 %返回除法的余数 != 不等于 <> 不等于 赋值运算 c+= a等价于c=c+a c-= a等价于c=c-a 逻辑运算 and or not 基 ...
- memcache的基本操作
1.linux下启动memcache [root@localhost ~]# memcached -d -m 512 -u root -p 12266 -c 256 参数名称及意义: -d 以守护 ...
- APP测试点注意事项汇总
1.异常测试:包括业务流程的异常情况:业务场景的异常:操作习惯的异常(比如答题过程中会出现声音干扰这样很不友好喔~) 2.网络测试:网络切换的过程中,APP会不会异常:断网情况进行一些操作,APP会不 ...
- 一个Tomcat下部署两个,甚至多个项目
是的這是我粘過來的 Tomcat目录下的结构如图: 第一步:Tomcat默认空间webapps,中已经存在一个项目了,此时要增加一个项目运行可以将原本webapps目录copa一份, 改名为webap ...