前一段时间,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. less封装样式有规律的类选择器-遁地龙卷风

    1.解决的问题 .class-rule(p,2,width 20px animation-dely 0.1s);可以生成下列css样式 .p2 { animation-dely: 0.2s; widt ...

  2. WebRTC Precompiled 使用

    最近研究webrtc native code,但源码太大(10GB以上)又需要FQ,就找了个预编译的版本https://sourcey.com/precompiled-webrtc-libraries ...

  3. JavaWeb之html

    html :Hyper Text Markup Language 超文本标记语言 超文本:比文本功能更加强大 标记语言:通过一组标签对内容进行描述的一门语言 html书写规则: 文件的后缀名:.htm ...

  4. Linux中查看端口占用情况

    1.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口的使用情况: # lsof -i:8000 2.netstat -tunlp | grep 端口号,用于查看指定的端口号的进 ...

  5. 适合高要求应用的高性能MEMS IMU解决方案

    对于复杂且高动态惯性配置的MEMS IMU应用,评估功能时需要考虑许多属性.在设计周期早期评估这些属性优于追逐开放性成果,从而实现“尽可能精确”.ADI近期举行的在线研讨会[适合高要求应用的高性能ME ...

  6. java 日常学习记录-反射

    Hero类 package helloworld; public class Hero { public String name; //姓名 public float hp; //血量 public ...

  7. notepad++安装nppFTP

    官网下载的最新版notepad++,结果pluginadmin里面installnppftp总是安不上,点击install之后然后点是就退出,再进去也没有安装好. 网上找了半天也没找到什么有用信息,最 ...

  8. 关于form-checkbox 必填项无效的错误

    校验规则要写在一个form里 检查data,给个默认值. 否则刚进去错误提示不显示. 其次,要加 type 类型,注意大小写 触发类型为 change .

  9. Java后端学习,推荐书籍和学习路线

    最近在学习Java和全栈开发,推荐一些有用的书籍 书架主要针对Java后端和全栈开发用的 书籍介绍 <Spring Boot 2.0企业级应用开发实战> 本书深入浅岀地讲解了 Spring ...

  10. js object数据类型

    1.object数据类型,[可以]认为JavaScript中顶级数据类型.在JavaScript绝大多数 高级类型对象都是object类型 2.如何创建一个object类型对象 1) 通过调用Obje ...