sqlite3的编译和使用

编译环境准备

这个是nw官网的环境搭建教程,一般需要python2.7、visual studio 2013、node-gyp、	node-pre-gyp,环境这块的文章很多自己可以百度

http://docs.nwjs.io/en/latest/For Users/Advanced/Use Native%2 0Node%20Modules/

编译好之后,使用官网的代码测试,github搜node-sqlite即可

var sqlite3 = require('sqlite3').verbose();var db = new sqlite3.Database(':memory:');
db.serialize(function() {
  db.run("CREATE TABLE lorem (info TEXT)");

  var stmt = db.prepare("INSERT INTO lorem VALUES (?)");
  for (var i = 0; i < 10; i++) {
      stmt.run("Ipsum " + i);
  }
  stmt.finalize();

  db.each("SELECT rowid AS id, info FROM lorem", function(err, row) {
      console.log(row.id + ": " + row.info);
  });
});
db.close();

遇到的问题

莫名奇妙的需要我安装node-gyp和npm我在全局已经安装了,按它说的安 装后,结果报错了,在这块花了很多时间,后来我把这块放下了,影响的应 该是后面的报错
看到如下报错后,我切换到了node_modules/sqlite3中,查看了lib/sqlite3.js文件,和node_modules/sqlite3/packge.json文件,报错是因为在项目中require(‘sqlite3’)的时候,packge.json的路径错误了,所以我把lib/sqlite3.js的动态获取.node代码注释了,改成死的,这样可以成功引入了,也会看到测试代码的打印信息

这条链接说明如何引入.node文件的

https://www.npmjs.com/package/node-pre-gyp
sqlite3的编译和使用_第1张图片

lib/sqlite3.js,其中node-webkit-v0.14.7-win32-x64是编译后生成的目录,可以把require(‘node-pre-gyp’)这行代码去掉

sqlite3的编译和使用_第2张图片

node_modules/sqlite3/packge.json,下图是node-pre-grp读取binary的配置信息

sqlite3的编译和使用_第3张图片

备注:上面这种在调试的时候,如果刷新页面后,会报错,提示模块未注册。另外一种引入sqlite3方式请看https://blog.csdn.net/qq_39702364/article/details/82800935
最后项目用的种子是vue-nw-seed的,某位大神写的,在github上可以找到,nw我用的是0.14.7的sdk编译环境准备

你可能感兴趣的:(nwjs,node.js)