最近在客户端开发中需要用带数据库作数据的存储,之前为了图方便,一直都是使用浏览器自带的indexedDb。但毕竟这样也只是一种折中的选择,因此想着把数据切换到sqliteDb中。研究了一番终于搞定。
- better-sqlite3看官网上说是对sqlite3进行了更好的封装,而且github上也有2k个star,所以就选它了!
- github.com/JoshuaWise/…
- electron是基于nodejs的环境进行开发的,而在nodejs中使用better-sqlite3是需要node-gyp重新编译的。
电脑上安装vs2015以上的版本 我自己电脑上一直用的是vs2017因此我使用vs2017作为本次编译的windowsSdk库。 这里要注意的是,老的gyp版本需要vs2015的库(4.0之前),而更新最新的才支持vs2017以及vs2019。
- 1.安装or更新node-gyp
npm install node-gyp@latest npm prefix -g | % {npm config set node_gyp "$_ ode_modules ode-gypbin ode-gyp.js"}复制代码
- 2.设置VCINSTALLDIR
设置环境变量 VCINSTALLDIR的值为VS目录,比如我的电脑上的VS目录就是
C:Program Files (x86)Microsoft Visual Studio 12.0VC复制代码
- 3.设置gyp vs版本
npm config set msvs_version 2017 --global node-gyp configure --msvs_version=2017复制代码
- 4.执行编译
注意:到这一步只是在nodejs环境中完成了better-sqlite3的编译,但倘若要在electron的环境中使用的话 还需要安装 electron-rebuild 插件
- 5.在目录下执行 https://blog.51cto.com/u_/node_modules/.bin/electron-rebuild 命令
注意:原来项目中,我的electron是4.x版本,nodejs版本是10.2.x。而这个版本的NODE_MODULE_VERSION是 69,而node10版本的是64,因此就导致这样反向rebuild的时候会报错v8错误。
经过一番查阅之后,翻查了一下找到了如下的对应表:
思索一番之后,尝试把node升级到12(72) electron升级到5(70),这样node的版本高于electron的版本,就可以成功rebuild了。
到此这篇更新nodejs(更新node_modules)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-nodejs/48615.html