在node.js中使用express路由文件夹
我决定将我的路线从app.js中取出并放入各自的文件夹中,但现在该网站将加载Handlebar文件作为索引,而不是关于或联系-我非常困惑,需要帮助才能获得+1在node.js中使用express路由文件夹,node.js,express,handlebars.js,Node.js,Express,Handlebars.js,我决定将我的路线从app.js中取出并放入各自的文件夹中,但现在该网站将加载Handlebar文件作为索引,而不是关于或联系-我非常困惑,需要帮助才能获得+1 // Import the express module var express = require('express'); var path = require("path"); var bodyParser = require("body-parser"); var index = require('./routes/index')
// Import the express module
var express = require('express');
var path = require("path");
var bodyParser = require("body-parser");
var index = require('./routes/index');
var about = require('./routes/about');
var contact = require('./routes/contact');
var handlebars = require('express-handlebars').create({defaultLayout:'main'});
var app = express();
// Block the header from containing information
// about the server
app.disable('x-powered-by');
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'handlebars');
app.engine('handlebars', handlebars.engine);
//set static folder
app.use(express.static(__dirname + '/public'));//allows access to public directory
//set bower folder
app.use('/bower_components', express.static(__dirname + '/bower_components'));//defines bower components directory
//body parser MW
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.set('port', process.env.PORT || 1337);// Defines the port to run on
app.use("/", index);
app.use("/about", about);
app.use("/contact", contact);
app.use(function(req, res){
res.type('text/html');
res.status(404);
res.render('404');
});
app.use(function(err, req, res, next){
console.error(err.stack);
res.status(500);
res.render('500');
});
app.listen(app.get('port'), function(){
console.log("Express started on http://127.0.0.1:" + app.get('port') + ' Press Ctrl+C to terminate');
})
这是routes/index.js文件:
var express = require("express");
var router = express.Router();
// Defines the base url
router.get('/', function(req, res, next){
// Point at the home.handlebars view
res.render('home');
});
module.exports = router;
和routes/about.js
var express = require("express");
var router = express.Router();
router.get('/about', function(req, res, next){
res.render('about');
});
module.exports = router;
当我转到localhost/contact时,我会看到404页面和相同的for/about页面
这些视图位于app/views中,当我在app.js中将它们放到管道中时,它们就工作了,但是自从删除它们之后,它就坏了。任何建议都将不胜感激 这个问题与路由本身有关。假设我们正在寻找/关于:
app.use("/about", about);
然后,应用程序将查看about的routing文件夹,并找到以下内容
var express = require("express");
var router = express.Router();
router.get('/about', function(req, res, next){
res.render('about');
});
module.exports = router;
因为我在路由器中有另一个/about.get,它将在localhost/about/about上呈现