无法获取/express.js路由

无法获取/express.js路由,express,routing,mean-stack,mangodb,Express,Routing,Mean Stack,Mangodb,我正处于一个简单任务管理器的早期阶段,我想用平均堆栈构建它。 我可以找出/解决一个简单的路由问题。除了404客户端错误之外,我在终端或控制台中没有看到任何错误消息 根路径正常。我得到了回复 我使用html文档来呈现两者的ui 这就是我如何设置我的server.js var express = require('express') var path = require('path') var bodyParser = require('body-parser') var index = requ

我正处于一个简单任务管理器的早期阶段,我想用平均堆栈构建它。 我可以找出/解决一个简单的路由问题。除了404客户端错误之外,我在终端或控制台中没有看到任何错误消息

根路径正常。我得到了回复 我使用html文档来呈现两者的ui

这就是我如何设置我的
server.js

var express = require('express')
var path = require('path')
var bodyParser = require('body-parser')

var index = require('./routes/index');
var tasks = require('./routes/tasks');
var app = express();

const port = '3456'


app.use('/', index)
app.use('api', tasks) <= HERE

//view engine
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')
app.engine('html', require('ejs').renderFile);

//static folder
app.use(express.static(path.join(__dirname, 'client')))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: false}))



app.listen(port, function() {
    console.log('Starting the server at port'  + port );
})
和,index.jsfyi

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

router.get('/', function(req, res, next) {
    res.render('index.html')
})

module.exports = router;
在端口3456上启动服务器后浏览器中出现404错误的链接处的屏幕截图


谢谢你的帮助。我相信它可以是一个小细节。但是调试非常困难。

发生此错误是因为没有处理端点的路由/api。您可以在这里创建一个中间件来处理/api。您可以在tasks.js中这样做:

router.get('/', function(req, res, next) {
   res.redirect('/api/tasks')
})
tasks.js

router.get('/', function(req, res, next) {
   res.send('This is api.')
})
或者,如果您要做的是将用户从端点/api引导到/api/tasks,那么您可以这样做:

router.get('/', function(req, res, next) {
   res.redirect('/api/tasks')
})

希望这有帮助。

我更改了端口号。问题是端口3000没有响应请求,因为它仍被旧进程使用,因此产生警告

错误号:'EADDRINUSE'

刚使用了端口5000进行了测试,结果顺利通过


顺便说一下,我正在使用vs代码

问题编辑:我无法找出/解决一个简单的路由问题,因此出现上述问题。谢谢!!:)你在回答一个完全不同的问题