如何使SQLite与Angular 4 +,Electron和NodeJS一起使用

时间:2017-09-06 09:40:07

标签: node.js angular electron node-sqlite3

我正在尝试使用以下方法构建一个小型桌面应用程序:

  • Angular 4 +
  • 的NodeJS
  • 电子
  • SQLite3的

NodeJS将用于扫描本地用户hdd并插入在SQLite3数据库中找到的特定文件。

我检查了几十个文档和建议。他们中的大多数建议使用NodeJS express框架并在Angular 4+之间制作图层 - >快递 - > sqlite3的。

我想避免使用快速框架,因为它将是桌面应用程序,根本不需要它。

我尝试了什么以及我做了什么:

我安装了:

   "sqlite3": "^3.1.9",
   "node-pre-gyp": "^0.6.36",

作为我项目中的依赖项。

如果您想使用本机nodejs库,我应该阅读,您应该运行电子重建。所以我也安装了电子重建:

"electron-rebuild": "^1.6.0"

作为devDependencies并使用以下命令运行它:

./node_modules/.bin/electron-rebuild

重建sqlite3顺利完成。

比我运行电子申请,我得到以下错误:

/~/node-pre-gyp/lib/node-pre-gyp.js
Module build failed: Error: ENOENT: no such file or directory, open '/home/haris/development/walter/angular-electron-starter/node_modules/node-pre-gyp/lib/node-pre-gyp.js'
    at Error (native)
 @ ./~/sqlite3/lib/sqlite3.js 1:13-36
 @ ./src/app/home/home.component.ts
 @ ./src/app/home/index.ts
 @ ./src/app/app.module.ts
 @ ./src/app/index.ts
 @ ./src/main.browser.ts
 @ multi (webpack)-dev-server/client?http://localhost:3000 ./src/main.browser.ts
我住在这里。我尝试了很多其他的东西:

1. Removing node_modules
2. npm install --build-from-source

但我仍然得到同样的错误。

任何建议或帮助将非常感谢。

2 个答案:

答案 0 :(得分:5)

我刚刚发布了一个示例项目,该项目展示了如何使用Electron,Angular4和Sqlite3构建桌面应用程序。你可以克隆它here

注意 我全局安装了node-gyp。

希望有所帮助

答案 1 :(得分:0)

对于其他人可能值得的东西。我跟着@leota的步骤(非常感谢BTW!)。

我的问题是我有Python 2.7 x64版本,我认为它需要32位版本..因为我安装了标准版本,我的重建过程运行正常!