在使用 raw nodejs 创建路由机制时,terminal 会说“TypeError: requestedPath is not a function”。不知道这是什么以及为什么?

while creating a route mechanism with raw nodejs, terminal says, "TypeError: requestedPath is not a function". No idea what and why is this?

提问人:mrSogib 提问时间:7/16/2023 最后编辑:mrSogib 更新时间:7/16/2023 访问量:15

问:

我正在关注 youtube 上的教程。 依赖项包括:

// depencies
const url = require("url")
const { notFound } = require("../pages/pageRoutes/notFoundHandler")
const router = require("../route")

针对这些,我们、导师和我在下面写下了这些

  let requestedPath = router[trimmedPath] ? trimmedPath : notFound;
  requestedPath(reqProperty, (statusCodes, payloads) => {
    statusCodes = typeof(statusCodes) === "number" ? statusCodes : 500;
    payloads = typeof(statusCodes) === "object" ? payloads : {};
    const payloadString = JSON.stringify(payloads);

    // final response
    res.writeHead(statusCodes);
    res.end(payloadString);

where 是存储有效路径的字符串变量。但是在下一行,那个在线导师调用(调用)它说这是一个函数。以及 VS 代码终端说不是一个函数。requestedPathrequestedPathrequestedPath

依赖项如下所示router

// dependencies
const {sampleHandle} = require('./pages/pageRoutes/sampleHandler');

const routes = {
    'sample': sampleHandle,
}

如您所见,这应该执行路由工作。

我是 node 的新手,所以想从最基础的东西开始学习。 现在我需要知道这里发生了什么导致我的错误,而不是在那个互联网老师的机器上。

终端上的错误

D:\WebDesigns\NodejsTestProject\components\handleReqRes.js:36
  requestedPath(reqProperty, (statusCodes, payloads) => {
  ^
TypeError: requestedPath is not a function
    at handler.modulerHandleReqRes (D:\WebDesigns\NodejsTestProject\components\handleReqRes.js:36:3)
JavaScript 节点 .js 函数 对象 路由

评论

0赞 Carcigenicate 7/16/2023
如果是一个字符串,你试图通过将其作为函数来做什么?requestedPath
0赞 mrSogib 7/16/2023
谢谢先生的关注。基本上,我确实认为“requestedPath”是一个字符串,这是一个错误。而它是一个后退 3 步定义的方法。很长一段时间后,我能够解决这个问题(因为我的语法不是那么出色)。

答: 暂无答案