【问题标题】:NWJS - A dynamic link library (DLL) initialization routine failedNWJS - 动态链接库 (DLL) 初始化例程失败
【发布时间】:2020-12-28 06:50:21
【问题描述】:

我正在尝试构建一个需要 sqlite3 Modul 的应用程序。 当我从 cmd node server.js 运行我的应用程序时,它运行良好 但是当我从 NWJS 运行它时会崩溃并在下面抛出错误

Uncaught Error: A dynamic link library (DLL) initialization routine failed.
\\?\C:\Users\Coder Bilall\Desktop\My Work\NWJS\GMoney\Gmoney\node_modules\sqlite3\lib\binding\napi-v3-win32-x64\node_sqlite3.node
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1206:18)
    at Module.load (node:internal/modules/cjs/loader:991:32)
    at Function.Module._load (node:internal/modules/cjs/loader:831:14)
    at Module.require (node:internal/modules/cjs/loader:1015:19)
    at require (node:internal/modules/cjs/helpers:92:18)
    at Object.<anonymous> (C:\Users\Coder Bilall\Desktop\My Work\NWJS\GMoney\Gmoney\node_modules\sqlite3\lib\sqlite3-binding.js:4:15)
    at Module._compile (node:internal/modules/cjs/loader:1126:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1161:10)
    at Module.load (node:internal/modules/cjs/loader:991:32)
    at Function.Module._load (node:internal/modules/cjs/loader:831:14)

我的 server.js 代码

const express = require('express')
const sqlite3 = require('sqlite3').verbose();
const LocalStorage = require('node-localstorage').LocalStorage;
let exec = require('child_process').exec, child;
const connectionTester = require('connection-tester');
const notifier = require('node-notifier');
const path = require('path');
const fs = require('fs');
const os = require('os');
const readline = require('readline');
const {google} = require('googleapis');
const ToCsv  =  require("sqlite-to-csv");
var cookieParser = require('cookie-parser')
const mailjet = require ('node-mailjet')
.connect('878dcf9b5a0ae7cf07498b6ab3d73ca7', 'c6c90ff0878e2b9640a6c342f84e142e')


const db = new sqlite3.Database('mydb.db');
const application = express();
application.use(cookieParser());
const port = 2020;

 application.get('/', (req, res) => {
        
     res.send('Hello World');


    });


 application.listen(port, () => {
     console.log(`Example application listening at http://localhost:${port}`)
 })

请帮帮我????????????????

【问题讨论】:

    标签: javascript node.js sqlite nwjs node-sqlite3


    【解决方案1】:

    失败的代码引用了一个节点绑定sqlite3\lib\binding\napi-v3-win32-x64

    当您npm install 时,某些节点模块将下载或构建您的操作系统(win32linuxdarwin)、您的架构(x86x64)和您的@ 987654321@(477288)。如果您全局安装的 Node 版本与 NW.js 内置的版本不同,您的模块将不兼容。

    试试这个:

    1. 删除您的node_modulespackage-lock.json
    2. 将您的 Node.js 版本更改为与该 NW.js 版本中内置的相同
    3. 然后做一个npm install 看看它是否有效

    这可能不是您的问题,但它可能会解决其他问题并且可以快速测试。

    NW.js 中的 Node.js 是什么版本?

    如何在全球范围内切换 Node.js 版本?

    您可能还想查看此 NW.js wiki 页面:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 1970-01-01
      • 2018-02-03
      • 2020-06-13
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      相关资源
      最近更新 更多