C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\2app.js:27 app.use(expressJWT({ secret: config.jwtSecretKey }).unless({ path: [/^\/api/] })) ^ TypeError: expressJWT is not a function at Object.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\2app.js:27:9) at Module._compile (node:internal/modules/cjs/loader:1159:14) at Module._extensions..js (node:internal/modules/cjs/loader:1213:10) at Module.load (node:internal/modules/cjs/loader:1037:32) at Module._load (node:internal/modules/cjs/loader:878:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:23:47 Node.js v18.12.1
时间: 2024-04-20 19:27:22 浏览: 224
这是一个 Node.js 的错误,提示 expressJWT 不是一个函数,出现在代码文件 'C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\2app.js' 的第 27 行。这个问题可能是由于您没有正确安装相关的依赖包或者版本不兼容导致的。请检查您的依赖包是否正确安装,您可以尝试更新依赖包版本或者使用其他的 JWT 模块来替代 expressJWT。如果您使用的是旧版本的 Node.js,也可能会导致这个问题。建议升级到最新版本的 Node.js 来解决这个问题。
相关问题
ode:internal/modules/cjs/loader:998 throw err; ^ Error: Cannot find module 'express-joi' Require stack: - C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\2app.js at Module._resolveFilename (node:internal/modules/cjs/loader:995:15) at Module._load (node:internal/modules/cjs/loader:841:27) at Module.require (node:internal/modules/cjs/loader:1061:19) at require (node:internal/modules/cjs/helpers:103:18) at Object.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\2app.js:24:20) at Module._compile (node:internal/modules/cjs/loader:1159:14) at Module._extensions..js (node:internal/modules/cjs/loader:1213:10) at Module.load (node:internal/modules/cjs/loader:1037:32) at Module._load (node:internal/modules/cjs/loader:878:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\admin\\Desktop\\前端开发\\Node.js\\day6\\code\\api_server\\2app.js' ] } Node.js v18.12.1 [nodemon] app crashed - waiting for file changes before starting...
这是一个 Node.js 的错误,提示找不到模块 'express-joi',在代码文件 'C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\2app.js' 的第 24 行出现了这个错误。您需要安装 'express-joi' 模块,可以使用 npm 命令进行安装,命令为:npm install express-joi。安装完成后,您可以在代码文件中引入该模块,然后重新运行程序即可。
C:\Users\龙撩之\Desktop\kbw_hjm\server.js:26 io.socket.emit('new message',{msg: data}); ^ TypeError: Cannot read properties of undefined (reading 'emit') at Socket.<anonymous> (C:\Users\龙撩之\Desktop\kbw_hjm\server.js:26:13) at Socket.emit (node:events:513:28) at Socket.emitUntyped (C:\Users\龙撩之\node_modules\socket.io\dist\typed-events.js:69:22) at C:\Users\龙撩之\node_modules\socket.io\dist\socket.js:703:39 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) Node.js v18.16.0
根据您提供的信息,这是一个TypeError错误,它表示在代码的第26行中,Socket.io的io对象未被正确定义,导致无法读取其emit属性。您需要检查代码中是否正确引入了Socket.io,并且是否正确初始化了io对象。您还可以检查是否在正确的位置调用了io对象。如果问题仍然存在,您可以提供更多的代码和上下文信息,以便更好地了解问题的来源。
阅读全文