![](/img/trans.png)
[英]Api : Express : throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
[英]Express error: throw new TypeError('Router.use() requires middleware function but got a ' + gettype(fn));
我是Express js的新手。 我正在從教程的角度關注教程
我嘗試實現此處給出的示例,但始終收到以下錯誤
/home/krishna/.nvm/versions/node/v5.0.0/bin/node /home/krishna/self/projects/projects/Node/nativebag/bin/www
/home/krishna/self/projects/projects/Node/nativebag/node_modules/express/lib/router/index.js:458
throw new TypeError('Router.use() requires middleware function but got a ' + gettype(fn));
^
TypeError: Router.use() requires middleware function but got a Object
at Function.use (/home/krishna/self/projects/projects/Node/nativebag/node_modules/express/lib/router/index.js:458:13)
at EventEmitter.<anonymous> (/home/krishna/self/projects/projects/Node/nativebag/node_modules/express/lib/application.js:220:21)
at Array.forEach (native)
at EventEmitter.use (/home/krishna/self/projects/projects/Node/nativebag/node_modules/express/lib/application.js:217:7)
at Object.<anonymous>
(/home/krishna/self/projects/projects/Node/nativebag/app.js:25:5)
at Module._compile (module.js:425:26)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
Process finished with exit code 1
我已經在網上尋找解決方案,但無法解決。
這是我的代碼:
Index.js
var express = require('express');
var app = express();
var things = require('./things.js');
app.use('/things', things);
app.listen(3000);
things.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
// POST hello world
router.post('/', function (req, res, next) {
res.send("Hello World");
});
module.exports = router;
可以指出一點錯誤嗎?
謝謝。
這本質上是Express版本更改的問題。 下面是我更改的代碼,現在可以正常工作了。
var express = require('express');
var router = express.Router();
var things = require('./things.js');
router.use('/things', things);
module.exports = router;
// app.listen(3000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.