Error: Cannot find module 'jose' in node js
Error: Cannot find module 'jose' in node js
我安装了模块。只有这个模块不工作,其他模块工作正常。当我尝试 运行 它抛出以下错误
Error: Cannot find module 'jose'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
at Function.Module._load (internal/modules/cjs/loader.js:508:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (<my_folder>\test.js:1:100)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
我尝试了什么:
几乎一切都来自这个Whosebug question
删除节点模块文件夹并重新安装
清除缓存并重新安装
已安装npm install @types/node --save-dev
我的package.json
{
"name": "test-api",
"version": "1.0.0",
"description": "",
"scripts": {
"start": "func start",
"test": "echo \"No tests yet...\""
},
"dependencies": {
"axios": "^0.21.0",
"axios-retry": "^3.1.9",
"fs-extra": "^9.0.1",
"qs": "^6.9.4"
},
"devDependencies": {
"@types/node": "^14.14.10",
"jose": "^3.1.3"
}
}
也许你应该使用 npm install --save-dev jose
来安装 jose :D
jose
包导出单独的 ESM 模块,例如,您正在安装的版本 3.x 中没有根 jose
模块。您可以在项目的 documentation
中阅读如何 require/import 每个单独的模块
更新您的 NodeJS 运行时。为我解决了这个问题。
我解决了这个问题,反应如下
import { jwtVerify } from 'jose/dist/browser/jwt/verify'
如果您使用的是 Nuxt,您可以通过将类型添加到 nuxt.config.js
中的构建转译选项中来解决此错误,如下所示:
build: {
transpile: ['@jose/dist/types']
},
在此之后,我可以像这样从 Jose 导入所有内容:
import {jwtVerify, importSPKI} from "jose";
这样做会给你完整的类型描述和一切!
我安装了模块。只有这个模块不工作,其他模块工作正常。当我尝试 运行 它抛出以下错误
Error: Cannot find module 'jose'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
at Function.Module._load (internal/modules/cjs/loader.js:508:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (<my_folder>\test.js:1:100)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
我尝试了什么:
几乎一切都来自这个Whosebug question
删除节点模块文件夹并重新安装
清除缓存并重新安装
已安装
npm install @types/node --save-dev
我的package.json
{
"name": "test-api",
"version": "1.0.0",
"description": "",
"scripts": {
"start": "func start",
"test": "echo \"No tests yet...\""
},
"dependencies": {
"axios": "^0.21.0",
"axios-retry": "^3.1.9",
"fs-extra": "^9.0.1",
"qs": "^6.9.4"
},
"devDependencies": {
"@types/node": "^14.14.10",
"jose": "^3.1.3"
}
}
也许你应该使用 npm install --save-dev jose
来安装 jose :D
jose
包导出单独的 ESM 模块,例如,您正在安装的版本 3.x 中没有根 jose
模块。您可以在项目的 documentation
更新您的 NodeJS 运行时。为我解决了这个问题。
我解决了这个问题,反应如下
import { jwtVerify } from 'jose/dist/browser/jwt/verify'
如果您使用的是 Nuxt,您可以通过将类型添加到 nuxt.config.js
中的构建转译选项中来解决此错误,如下所示:
build: {
transpile: ['@jose/dist/types']
},
在此之后,我可以像这样从 Jose 导入所有内容:
import {jwtVerify, importSPKI} from "jose";
这样做会给你完整的类型描述和一切!