安装 SQLite
npm install better-sqlite3 -D
这个模块安装完成后,大概率是无法使用这个模块的,可能会碰到如下报错信息:
Error: The module '...node_modules\better-sqlite3\build\Release\better_sqlite3.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION $XYZ. This version of Node.js requires
NODE_MODULE_VERSION $ABC. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
这是因为 Electron 内置的 Node.js 的版本可能与你编译原生模块使用的 Node.js 的版本不同导致的。
建议开发者使用 Electron 团队提供的 electron-rebuild 工具来完成此工作,因为 electron-rebuild 会确定 Electron 的版本号、Electron 内置的 Node.js 的版本号、以及 Node.js 使用的 ABI 的版本号,并根据这些版本号下载不同的头文件和类库。
安装 electron-rebuild:
npm install electron-rebuild -D
在 package.json 中增加如下配置节(scripts 配置节):
"rebuild": "electron-rebuild -f -w better-sqlite3"
在工程根目录下执行如下指令:
npm run rebuild
当你的工程下出现了这个文件 node_modules/better-sqlite3/build/Release/better_sqlite3.node,才证明 better_sqlite3 模块编译成功了,如果上述指令没有帮你完成这项工作,你可以把指令配置到 node_modules/better-sqlite3 模块内部再执行一次,一般就可以编译成功了(如下图所示)。
这样就为 Electron 重新编译了一遍 better-sqlite3,现在就可以在 Electron 应用内使用 better-sqlite3 提供的 API 了。
在应用中试试如下代码(渲染进程和主进程均可,甚至在渲染进程的开发者调试工具中也没问题),看是不是可以正确创建 SQLite 的数据库。
const Database = require("better-sqlite3");
const db = new Database("db.db", { verbose: console.log, nativeBinding: "./node_modules/better-sqlite3/build/Release/better_sqlite3.node" });
不出意外的话,工程根目录下将会创建一个名为 db.db 的 SQLite 数据库文件,说明 better-sqlite3 库已经生效了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论