Я пытаюсь проанализировать и перестроить какой-то код, написанный кем-то, кто в настоящее время состоит из более старой версии Express.js (4.18.2), в текущую версию Express.js.
ERROR Uncaught Exception
{
"errorType": "TypeError",
"errorMessage": "path must be a string, array of strings, or regular expression",
"stack": [
"TypeError: path must be a string, array of strings, or regular expression",
" at pathToRegexp (/var/task/node_modules/path-to-regexp/index.js:69:11)",
" at new Layer (/var/task/node_modules/express/lib/router/layer.js:45:17)",
" at Function.route (/var/task/node_modules/express/lib/router/index.js:505:15)",
" at app. [as get] (/var/task/node_modules/express/lib/application.js:498:30)",
" at Object. (/var/task/src/get.js:80:5)",
" at Module._compile (node:internal/modules/cjs/loader:1554:14)",
" at Object..js (node:internal/modules/cjs/loader:1706:10)",
" at Module.load (node:internal/modules/cjs/loader:1289:32)",
" at Function._load (node:internal/modules/cjs/loader:1108:12)",
" at TracingChannel.traceSync (node:diagnostics_channel:322:14)"
]
}
< /code>
В этой части я использовал анализатор в качестве промежуточного программного обеспечения с помощью CHATGPT, но в другом модуле возникает ошибка, который использует код в этой части.const router = express.Router();
router.use(onem2mParser);
router.post('/', function(req, res) => ...);
app.use('/', router);
< /code>
ERROR TypeError: ee.on is not a function
at first (/var/task/node_modules/ee-first/index.js:43:10)
at onSocket (/var/task/node_modules/on-finished/index.js:115:16)
at attachFinishedListener (/var/task/node_modules/on-finished/index.js:120:5)
at attachListener (/var/task/node_modules/on-finished/index.js:147:5)
at onFinished (/var/task/node_modules/on-finished/index.js:53:3)
at send (/var/task/node_modules/finalhandler/index.js:314:3)
at /var/task/node_modules/finalhandler/index.js:133:5
at /var/task/node_modules/express/lib/router/index.js:646:15
at next (/var/task/node_modules/express/lib/router/index.js:265:14)
at textParser (/var/task/node_modules/express/node_modules/body-parser/lib/types/text.js:78:7)
< /code>
Finally, I have two questions.
[list]
[*]What does it mean to insert bodyParser
вместо типа строки в параметр path в app.post () ? Путь тогда '/'?
[*] Как исправить код, чтобы хорошо работать с той же логикой в последней версии 4.x express.js?
[/list]
Я пытаюсь проанализировать и перестроить какой-то код, написанный кем-то, кто в настоящее время состоит из более старой версии Express.js (4.18.2), в текущую версию Express.js.[code]const express = require('express'); const bodyParser = require('body-parser');
# Where The error occurs app.post(onem2mParser, function (request, response) { ... }
[/code] У меня проблемы с App.post () выше, а текущая версия Express.js выбрасывает следующую ошибку: [code]ERROR Uncaught Exception { "errorType": "TypeError", "errorMessage": "path must be a string, array of strings, or regular expression", "stack": [ "TypeError: path must be a string, array of strings, or regular expression", " at pathToRegexp (/var/task/node_modules/path-to-regexp/index.js:69:11)", " at new Layer (/var/task/node_modules/express/lib/router/layer.js:45:17)", " at Function.route (/var/task/node_modules/express/lib/router/index.js:505:15)", " at app. [as get] (/var/task/node_modules/express/lib/application.js:498:30)", " at Object. (/var/task/src/get.js:80:5)", " at Module._compile (node:internal/modules/cjs/loader:1554:14)", " at Object..js (node:internal/modules/cjs/loader:1706:10)", " at Module.load (node:internal/modules/cjs/loader:1289:32)", " at Function._load (node:internal/modules/cjs/loader:1108:12)", " at TracingChannel.traceSync (node:diagnostics_channel:322:14)" ] } < /code> В этой части я использовал анализатор в качестве промежуточного программного обеспечения с помощью CHATGPT, но в другом модуле возникает ошибка, который использует код в этой части.const router = express.Router(); router.use(onem2mParser); router.post('/', function(req, res) => ...); app.use('/', router); < /code> ERROR TypeError: ee.on is not a function at first (/var/task/node_modules/ee-first/index.js:43:10) at onSocket (/var/task/node_modules/on-finished/index.js:115:16) at attachFinishedListener (/var/task/node_modules/on-finished/index.js:120:5) at attachListener (/var/task/node_modules/on-finished/index.js:147:5) at onFinished (/var/task/node_modules/on-finished/index.js:53:3) at send (/var/task/node_modules/finalhandler/index.js:314:3) at /var/task/node_modules/finalhandler/index.js:133:5 at /var/task/node_modules/express/lib/router/index.js:646:15 at next (/var/task/node_modules/express/lib/router/index.js:265:14) at textParser (/var/task/node_modules/express/node_modules/body-parser/lib/types/text.js:78:7) < /code> Finally, I have two questions. [list] [*]What does it mean to insert bodyParser[/code] вместо типа строки в параметр path в app.post () ? Путь тогда '/'? [*] Как исправить код, чтобы хорошо работать с той же логикой в последней версии 4.x express.js? [/list]