不能GET/express.js路由
问题描述:
我正处于一个简单的任务管理器的初期阶段,我想用MEAN堆栈来构建。 我可以计算/解决一个简单的路由问题。除了404客户端错误,我没有在终端或控制台中看到任何错误消息。不能GET/express.js路由
根路径没问题。我得到了回应 我使用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:[email protected]: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 fyi
在低于浏览器中的404错误的链接var express = require('express')
var router = express.Router();
router.get('/', function(req, res, next) {
res.render('index.html')
})
module.exports = router;
截图在端口3456
感谢您的帮助启动服务器后。我相信它可以是一个小细节。虽然很难调试。
答
发生此错误是因为没有处理端点的路由/api。你可以在这里做的是创建一个中间件来处理/api。你可以在你的tasks.js这样的:
tasks.js
router.get('/', function(req, res, next) {
res.send('This is api.')
})
或者,如果你想要做的是从端点/API将用户引导到/API /任务那么你可以做这样的:
router.get('/', function(req, res, next) {
res.redirect('/api/tasks')
})
希望这有助于。
问题编辑:我**不能** /解决一个简单的路由问题,因此上述问题。谢谢!! :) – SandyL