gpt4 book ai didi

mongodb - 无法获取/express.js 路由

转载 作者:行者123 更新时间:2023-12-05 07:40:13 24 4
gpt4 key购买 nike

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

根路径没问题。我收到回复我使用 html 文档来呈现两者的用户界面。

这就是我设置 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 );
})

tasks.js

在设定的路线渲染模板

var express = require('express')
var router = express.Router();
var mongojs = require('mongojs');
var db = mongojs('mongodb://sandy:cookie2080@ds147304.mlab.com:47304/tasklists_21092017', ['tasks'])

router.get('/tasks', function(req, res, next) {
res.send('api')
res.render('tasks.html')
db.tasks.find(function(err, tasks){
if (err) {
res.send('error message ' + err)
}

res.json(tasks)
})
})

module.exports = router;

并且,index.js 仅供引用

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

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

module.exports = router;

在端口 3456 上启动服务器后浏览器中出现 404 错误的屏幕截图如下链接

404 error - screenshot

感谢您的帮助。我相信它可以是一个小细节。虽然很难调试。

最佳答案

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

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')
})

希望这对您有所帮助。

关于mongodb - 无法获取/express.js 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46355022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com