繁体   English   中英

NodeJS - 在 child_process 中找不到模块

[英]NodeJS - Cannot find module in child_process

我想使用 child_process 在后台执行长时间的任务,而不会减慢整个应用程序的速度。

我在 child_process 中需要 sqlite3 模块时遇到问题。 这是我的代码:

主文件

const child_process = require('child_process');
const fork = child_process.fork('child.js');

孩子.js

const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('data.db');

这是我得到的:

module.js:487 抛出错误; ^

Error: Cannot find module 'A:\myretail\clictill_electron\node_modules\sqlite3\lib\binding\node-v57-win32-x64\node_sqlite3.node'
    at Function.Module._resolveFilename (module.js:485:15)
    at Function.Module._load (module.js:437:25)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (A:\myretail\clictill_electron\node_modules\sqlite3\lib\sqlite3.js:4:15)
    at Object.<anonymous> (A:\myretail\clictill_electron\node_modules\sqlite3\lib\sqlite3.js:190:3)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)

包.json:

{
    "name": "clictill_electron",
    "productName": "Clictill",
    "version": "1.0.0",
    "main": "main.js",
    "dependencies": {
        "child_process": "^1.0.2",
        "electron": "^1.8.4",
        "fibers": "^2.0.2",
        "node-gyp": "^3.6.2",
        "node-pre-gyp": "^0.8.0",
        "request": "^2.85.0",
        "sqlite3": "^3.1.13",
        "sync": "^0.2.5"
    },
    "build": {
        "files": [
            "app/**/*",
            "node_modules/**/*",
            "package.json"
        ]
    },
    "scripts": {
        "preinstall": "npm --add-python-to-path='true' --debug install --global windows-build-tools && npm install --global node-gyp && setx PYTHON \"%USERPROFILE%\\.windows-build-tools\\python27\\python.exe\" && npm config set python PYTHON",
        "postinstall": "node_modules/.bin/electron-rebuild -v 1.8.2 -w sqlite3 -p",
        "start": "electron .",
        "release": "build",
        "rebuild": "electron-rebuild -f -w sqlite3"
    },
    "devDependencies": {
        "electron-builder": "^10.8.1",
        "electron-rebuild": "^1.7.3"
    }
}

知道这是从哪里来的吗?

您是否检查过您的路径以查看 sqlite3 模块是否存在于应有的位置?

否则我会做npm child_process uninstall --save ,然后做npm child_process install --save

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM