前一段时间,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的更多相关文章

  1. nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

    第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...

  2. 使用NW.js封装微信公众号菜单编辑器为桌面应用

    开发微信公众号的朋友都会遇到一个常见的需求就是修改自定义菜单,如果每个人都去开发这个不经常使用的功能确实有点浪费时间.前段时间在github上找到一个仿企业号的菜单编辑界面,结合微信的C# SDK开发 ...

  3. 修改nw.js的exe文件使其请求管理员权限

    修改nw.js的exe文件使其请求管理员权限 默认情况下,nw.js发布的nw.exe文件请求的是普通权限,当我们的应用需要访问一些特殊目录或者注册表等,就需要程序启动的时候以管理员权限运行.那么此时 ...

  4. nw.js FrameLess Window下的窗口拖拽与窗口大小控制

    nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将fr ...

  5. nw.js如何处理拖放操作

    nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了. 首先我们看一下一个正常的页面,直接拖放 ...

  6. 用node-webkit(NW.js)创建桌面程序

    以往写windows桌面程序需要用MFC.C#之类的技术,那么如果你只会web开发技术呢?或者说你有一个网站,但是你想把你的网站打包成一个桌面应用程序,该如何做呢? 答案就是用node-webkit这 ...

  7. 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 ...

  8. 使用nw.js将html项目打包为桌面程序

    首先需要确保电脑已经布置好node.js环境 1.下载并全局安装nw.js npm install nw -g 2.安装nw-builder模块 npm install nw-builder -g 3 ...

  9. nw.js桌面程序自动更新(node.js表白记)

    Hello Google Node.js 一个基于Google V8 的JavaScript引擎. 一个伟大的端至端语言,或许我对你的热爱源自于web这门极富情感的技术吧! 注: 光阴似水,人生若梦, ...

随机推荐

  1. java aes CBC的填充方式发现

    如下的java代码,手动对block进行填充后,使其为16的整数倍后,加密的时候竟然强行再填充了16位,我在尝试用golang实现这段加密时,反复修改了很久,发现golang版的总是比java加密出来 ...

  2. XSS,CSRF,Cookie防劫持的处理

    Cookie与sessionHTTP天然是无状态的协议, 为了维持和跟踪用户的状态, 引入了Cookie和Session. Cookie包含了浏览器客户端的用户凭证, 相对较小. Session则维护 ...

  3. vue.js学习系列-第一篇(代码)

    <html> <head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"> ...

  4. 吴恩达《机器学习》编程作业——machine-learning-ex1:线性回归

    ❄❄❄❄❄❄❄❄[回到目录]❄❄❄❄❄❄❄❄ 本次编程作业中,需要完成的代码有如下几部分: [⋆] warmUpExercise.m - Simple example function in Octa ...

  5. java学习笔记04-基本数据类型

    编写一款可用的软件,离不开对数据的操作(经常有人说:程序=数据+算法).数据可能有很多类型,比如对于年龄来说,数据就是整数. 对于金额来,数据是带小数的.在java中,可以分为内置数据类型和引用数据类 ...

  6. JSONP以及端口

    跨域的方式有多种今天我呢,给大家带来的是JSONP接口的操作和接口 JSONP的接口到处都有 今天先拿BOOS直聘的来给大家演示一遍吧 首先找到boss官网:https://www.zhipin.co ...

  7. 如何用java实现一个p2p种子搜索(4)-种子获取

    种子获取 在上一篇中我们已经可以获取到dht网络中的infohash了,所以我们只需要通过infohash来获取到种子,最后获取种子里面的文件名,然后和获取到的infohash建立对应关系,那么我们的 ...

  8. 提示缺少tns_admin的解决办法

    问题:安装ZL数据安全辅助工具后,执行时出现 “未设置系统环境变量tns_admin!” 解决: 1.查找tnsnames.ora所在目录,比如这里的目录为:C:\app\H\product\11.2 ...

  9. selenium启动报错“ incorrect JSON status mapping for 'unknown error' (500 expected)”

    前面讲了工程启动报错“selenium启动报错Unable to read VR Path Registry from C:\Users\clinva\AppData\Local\openvr\ope ...

  10. Android 插件化和热修复知识梳理

    概述 在Android开发中,插件化和热修复的话题越来越多的被大家提及,同时随着技术的迭代,各种框架的发展更新,插件化和热修复的框架似乎已经日趋成熟,许多开发者也把这两项技术运用到实际开发协作和正式的 ...