nodejs Route.get()需要回调函数但得到一个[object String]

时间:2017-03-13 23:25:54

标签: javascript node.js express

我开始使用带有express的nodejs进行编码。 所以我在我的文件test.js中做了这个,这是我的文件夹路由:

const express = require('express');

const router = new express.Router();

router.get('/test', (req, res) => {
    res.send(`I'm a test`);
});

module.exports = router;

然后,在我的server.js:

const test = require('./server/routes/test');
app.use('/test', test);

在我的浏览器中,它告诉我无法获取/测试

我不明白为什么。需要帮助。 感谢

4 个答案:

答案 0 :(得分:0)

"I'm a test"内添加res.send(),我的意思是在该字符串周围添加"

答案 1 :(得分:0)

要访问/test,请使用router.get('/'app.use('/test' 因为express会连接//test

在您的情况下,您必须访问/test/test,请执行此操作并在您的borwser中输入/test

const express = require('express');

const router = new express.Router();

router.get('/', (req, res) => { res.send("I'm a test"); });

module.exports = router;

然后,在你的server.js中:

const test = require('./server/routes/test'); app.use('/test', test);

答案 2 :(得分:0)

问题似乎是你如何安装路由器。看router middleware API看起来你应该这样做。

test.js

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

router.get('/test', (req, res, next) => {
  res.send("I'm a test");
  next();
});

module.exports = router;

server.js

const express = require('express');
const app = express();
const test = require('./test'); 

app.use('/', test);

app.listen(3000);

答案 3 :(得分:0)

可以解决您的问题的简单修复。

替换

const router = new express.Router();

const router = express.Router();