大胸弟,如果你和我一样把官方给的方法和网上的文章都试过了还是编译不过,但又必须在nwjs里使用sqlite数据库,那么请继续往下看。

我的解决方法就是:

1、不编译

来吧,拥抱html5吧,具体来说就是那个叫websql的东西, openDatabase() 方法来打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库,操作简单,神清气爽

/*Web SQL Database的API并不是HTM5规范的一部分而是自己拥有独立规范;
可以在新版的 Safari, Chrome 和 Opera 浏览器中工作(具体版本不详,nw0.32.3使用没毛病);
它提供了一套使用SQL操作客户端数据库的方法。
在介绍API之前,我们假设你基本熟悉SQL语句和用法。 openDatabase:该方法用于打开/创建数据库对象。
transaction:该方法赋予我们执行相关数据库语句或者回滚的能力。
executeSql:该方法用于执行数据库语句。*/ //如需要打开一个数据库,你可以使用一下代码:
var db = openDatabase('mydb', '1.0', 'my first database', 2 * 1024 * 1024);
//方法中包含了4个参数,分别是数据库名称、版本号、数据库描述和数据库预估大小,如果不存在就创建,存在就连接 // Create table and insert one line
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS foo (id unique, text)');
tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "synergies")');
tx.executeSql('INSERT INTO foo (id, text) VALUES (2, "luyao")');
}); // Query out the data
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM foo', [], function (tx, results) {
var len = results.rows.length, i;
for (i = 0; i < len; i++) {
alert(results.rows.item(i).text);
}
});
});

具体可以参考菜鸟和下面这篇文章:

HTML5 Web SQL 数据库 | 菜鸟教程

nw.js node-webkit系列(21)在应用中如何数据持久化_黄泽平的博客-CSDN博客_nwjs 数据库

顺便说下,nwjs里使用websql后数据保存的位置 (我此时nw的版本是0.32.3)

db文件的保存位置在:C:\Users\Administrator\AppData\Local\你软件的名字\User Data\Default\databases

在这个目录下有个database.db别高兴这个不是,这个库里存的是通过你软件创建的所有数据数据库的记录,通过记录的ID在这个目录里有一个唯一的子目录,里面就有这个库里列出来的所有的库,名字只有个id,不是xx.db但是把他们拖到sqlite studio里你就发现这tm就是个sqlite的db文件。

2、使用electron吧

通过npm的包可以直接使用sqllite,无需自己编译,这个就不多说了。

-------------

编译nwjs/node-webkit可用的sqlite3简单靠谱的解决方案/在nwjs里使用sqlite的更多相关文章

  1. sqlite3简单教程整理

    一.Ubuntu下安装sqlite3 1.介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库. 2.安装:   要安装sqlite3,可以在终端提示符后运行下列命令:   sud ...

  2. Centos6.4编译安装Node.js(已验证)

    1.准备源文件包 [felix@MyTerminal Downloads]$ mv node-6.5.0 node [felix@MyTerminal Downloads]$ ls node node ...

  3. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

  4. [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...

  5. Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例

    前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...

  6. 实现node端渲染图表的简单方案

    实现node端渲染图表的简单方案 这个题目有点小,本篇博客真正谈论的应该是服务端生成图表的简单方案,这里面有两个关键字:服务端 & 简单,我们知道基于js有很多的图表库,知名的如D3.echa ...

  7. Node.js 环境搭建及简单应用

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型.如果你想创建自己的服务,那么Node.js是一个非 ...

  8. python sqlite3简单操作

    python sqlite3简单操作(原创)import sqlite3class CsqliteTable: def __init__(self): pass def linkSqlite3(sel ...

  9. 用 Node.js 实现的最简单的 HTTP 服务器

    用 Node.js 实现的最简单的 HTTP 服务器 //app.js var http = require('http'); http.createServer(function(req, res) ...

  10. 零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里

    原文:零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里 前面几章连续讲到ListBox的运用,本章要讲得是如何简单的把Sa ...

随机推荐

  1. Docker部署Go+Mysql+Redis

    两种方式Docker和Docker Compose部署web项目,相对于Go语言来说,不管是使用docker部署还是直接服务器部署都相当方便,比python要简单很多. 1.Dockerfile结构解 ...

  2. MTV和MVC模式,初识模板

    MTV和MVC模式,初识模板1.MTV和MVC模式:分层级进行管理 说到框架模式我们有必要简单的说下设计模式,了解下设计模式这个概念,因为有人对设计模式和框架模式的概念经常混淆 设计模式: 是一套被反 ...

  3. 腾讯云HAI与DeepSeek携手打造私有化高效代码助手

    今天,我们依然以DeepSeek-R1大模型为核心,继续探索其在实际场景中的可用性.今天的重点将放在基于DeepSeek-R1大模型,结合JetBrains IDEA 插件代码助手(CodeGPT)进 ...

  4. Q:su命令无法切换用户问题,密码正确可登录

    一.文件权限问题 查看文件权限: ll -a /bin/su /usr/bin/passwd 正确的结果为: 错误的结果为: suid和普通x执行权限 s:当普通用户使用su的时候,采用的是owner ...

  5. ARC132E题解

    简要题意 有 \(n\) 个方块,每个方块有一个初始状态可能为左右或者空.每次操作随机选择一个空进行操作.每次操作可以向左或者向右走一直到下一个空或者走出边界,走到的每个格子会变成左或者右,这取决于移 ...

  6. 6. Calcite添加自定义函数

    1. 简介 在上篇博文中介绍了如何使用calcite进行sql验证, 但是真正在实际生产环境中我们可能需要使用到 用户自定义函数(UDF): 通过代码实现对应的函数逻辑并注册给calcite sql验 ...

  7. arco-design-pro-vite项目配置参考

    参考地址 配置源码地址:https://github.com/arco-design/arco-design-pro-vue/blob/main/arco-design-pro-vite/ 按钮组件 ...

  8. zstd压缩算法概述与基本使用

    本文仅关注zstd的使用,并不关心其算法的具体实现 并没有尝试使用zstd的所有功能模式,但是会简单介绍每种模式的应用场景,用到的时候去查api吧 step 0:why zstd? zstd是face ...

  9. mysql 连接失败:message from server: "Host '192.168.xx.xxx' is not allowed to connect to this MySQL server"

    前言 mysql 连接失败:message from server: "Host '192.168.xx.xxx' is not allowed to connect to this MyS ...

  10. Camel多智能体框架初探

    Camel介绍 CAMEL 是一个开源社区,致力于探索代理的扩展规律.我们相信,在大规模研究这些代理可以提供对其行为.能力和潜在风险的宝贵见解.为了促进该领域的研究,我们实现了并支持各种类型的代理.任 ...