javascript - 在express js 4中分离路由器文件时出错

标签 javascript node.js express

我是NodeExpress的新手,我喜欢将路由功能分离在单独的文件中 ,但我总是收到错误。

我的app.js文件 -

var express = require('express');

var index = require('./Routes/index');

var app = express();

app.use(index);

app.listen(2000);

console.log("Server working at port 2000");

我的Routes/index.js

var express = require('express');
var router = express.Router();

router.use(function(req,res,next){
  console.log("url "+req.url);
});

router.get('/',function(req,res){
  res.send("Hi is it working?");
});

module.export = router;

当我运行它时,显示错误,例如

app.use() requires middleware functions

如果我放

`app.use('/',index);` 

而不是 app.use(索引); 然后我得到这样的错误

Router.use() requires middleware function but got a Object

最佳答案

因此,作为摘要(和正确答案),您有两个问题:

拼写错误:

module.export = router; 应为 module.exports = router;

中间件:

您的中间件应该调用 next() 将请求传递给下一个函数。更多详情请查看the documentation .

关于javascript - 在express js 4中分离路由器文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38582455/

相关文章:

node.js - Express 没有设置 cookie

node.js - Sequelize 在查询中添加 'id' 列,而我已经有一列定义为 PK

javascript - 限制 mongo 动态返回的字段

javascript - 在制表符中动态加载子节点

javascript - 坚持将二进制数据更改为 base64 (Gridfs-stream)

ios - 推送通知丢失消息

json - 使用 sequelize 防止将连接表数据添加到 json

c# - 将 onMouseOver javascript 添加到 TextField

javascript - 使用 JWT 身份验证重新连接断开的 socket.io

javascript - 返回新的 Promise 和 Promise.resolve 的区别