【问题标题】:Error when trying to import SQLite into node尝试将 SQLite 导入节点时出错
【发布时间】:2021-07-27 14:23:19
【问题描述】:

我在尝试将 SQLite 导入节点时遇到了麻烦。这是我的导入声明:

import * as sqlite from './sqlite';

但是我得到了这个错误

node:internal/process/esm_loader:74
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'D:\WebPro\WebProg\cwCode\sqlite' imported from D:\WebPro\WebProg\cwCode\dbInteract.js
    at new NodeError (node:internal/errors:329:5)
    at finalizeResolution (node:internal/modules/esm/resolve:323:11)
    at moduleResolve (node:internal/modules/esm/resolve:758:10)
    at Loader.defaultResolve [as _resolve] (node:internal/modules/esm/resolve:869:11)
    at Loader.resolve (node:internal/modules/esm/loader:86:40)
    at Loader.getModuleJob (node:internal/modules/esm/loader:230:28)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:57:40)
    at link (node:internal/modules/esm/module_job:56:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

如下所示,我的依赖项中有 SQLite 和 SQLite3,当我查看节点模块文件夹时,两个包都在那里。

{
  "name": "webpro-coursework",
  "version": "1.0.0",
  "description": "web programming coursework 2021",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start": "node svr.js"
  },
  "author": "up939702",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "md5": "^2.3.0",
    "md5-file": "^5.0.0",
    "multer": "^1.4.2",
    "sqlite": "^4.0.21",
    "sqlite3": "^5.0.2"
  },
  "devDependencies": {
    "nodemon": "^2.0.7"
  }
}
    },
    "node_modules/sqlite": {
      "version": "4.0.21",
      "resolved": "https://registry.npmjs.org/sqlite/-/sqlite-4.0.21.tgz",
      "integrity": "sha512-HIqObuvz+Vx8BXWzIhR12fJMjiE37Mdfupg2Ok0f8MChSqALXj7FgpZauj1pJoSY6qsDYmp/+/ZgSn3l8yutoA=="
    },
    "node_modules/sqlite3": {
      "version": "5.0.2",
      "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz",
      "integrity": "sha512-1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==",
      "hasInstallScript": true,
      "dependencies": {
        "node-addon-api": "^3.0.0",
        "node-pre-gyp": "^0.11.0"
      },

如果有人能提供帮助,将不胜感激

【问题讨论】:

  • 您似乎正在显示您的 package.json 文件的内容。这仅显示依赖项。如果确实安装了这些依赖项,则需要检查package-lock.json文件。
  • @yunzen 我刚刚添加了package-lock的相关行。
  • 使用“./sqlite”,您正在指定模块的(不正确的)路径 - 您在错误消息中看到正在解析的路径是“'D:\WebPro\WebProg \cwCode\sqlite”。对于外部依赖项,只需指定模块名称而不是路径 - 即在本例中为“sqlite”。
  • @IAmDranged 我已经尝试过了,它仍然会抛出错误
  • 那么实际的错误信息是什么?

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


【解决方案1】:

你应该试试:

import * as sqlite from 'sqlite';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多