无法成功建立从electronic-js到sqlite3数据库的连接

问题描述

我尝试了以下操作,还创建了一个数据库

import { app,browserWindow,ipcMain } from 'electron';
const sqlite = require("sqlite3").verbose();
declare const MAIN_WINDOW_WEBPACK_ENTRY: any;

if (require('electron-squirrel-startup')) { // eslint-disable-line global-require
  app.quit();
}

const createWindow = (): void => {
  const mainWindow = new browserWindow({
    height: 600,width: 800,});

  mainWindow.loadURL(MAIN_WINDOW_WEBPACK_ENTRY);
  mainWindow.webContents.openDevTools();
};

//connection to database file
let db = new sqlite.Database('./database.sqlite',(err: any) => {
  if(err) {
    return console.error(err.message)
  }
  console.log('Connected to database')
});

app.on('ready',createWindow);

app.on('window-all-closed',() => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

app.on('activate',() => {
  if (browserWindow.getAllWindows().length === 0) {
    createWindow();
  }
});

但是运行应用程序时,我收到以下错误消息:

App threw an error during load
Error: node-loader:
Error: dlopen(/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/fff62d64630267b2e965af6812745c92.node,1): no suitable image found.  Did find:
    /Users/newuser/workspace/programming/desktop/numberz/.webpack/main/fff62d64630267b2e965af6812745c92.node: file too short
    /Users/newuser/workspace/programming/desktop/numberz/.webpack/main/fff62d64630267b2e965af6812745c92.node: stat() Failed with errno=38
    at Object.<anonymous> (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:11824:9)
    at Object../node_modules/sqlite3/lib/binding/napi-v3-darwin-x64/node_sqlite3.node (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:11827:30)
    at __webpack_require__ (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:21:30)
    at Object../node_modules/sqlite3/lib/sqlite3-binding.js (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:11841:15)
    at __webpack_require__ (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:21:30)
    at Object../node_modules/sqlite3/lib/sqlite3.js (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:11855:15)
    at __webpack_require__ (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:21:30)
    at Object../src/index.ts (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:12576:14)
    at __webpack_require__ (/Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:21:30)
    at /Users/newuser/workspace/programming/desktop/numberz/.webpack/main/index.js:85:18

当我尝试一种方法时,我仍然得到上面相同的方法

let db = new sqlite.Database(':memory:',(err: any) => {
  if(err) {
    return console.error(err.message)
  }
  console.log('Connected to database')
});

我已经使用过电子重建和产后检查,但仍然无法成功连接到我的数据库。请帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)