簡體   English   中英

無法讀取快速路由器中未定義的“ get”屬性

[英]cannot read property of 'get' undefined in the express router

我的代碼如下所示:

app.js

const app = express();
const itemsRouter = require('./routes/items.js');

app.use(bodyParser.urlencoded({
    extended: true
}));

app.use('/items', itemsRouter);

items.js

const router = require('express').router;

router.get('/itemTest', (req, res) => {
    res.json({
        sucess: true
    });

    console.log(`the parametrs are ${req.body.item_name}  ${req.body.item_post}`);
});

module.exports = router;

但是在某種程度上,我無法使路由器正常工作,並且它說無法讀取未定義的屬性“ get”。

錯誤堆棧如下所示:

TypeError: Cannot read property 'get' of undefined
    at Object.<anonymous> (C:\Users\anand\quFlipApi\routes\items.js:5:7)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\anand\quFlipApi\app.js:33:19)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)

這里有兩個問題:

  1. 它是express.Router而不是express.router
  2. 您需要創建一個express.Router的新實例 (例如var router = new express.Router() ),而不是嘗試直接將構造函數用作實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM