【发布时间】: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