我遇到了一个奇怪的问题。当我在Express.js应用程序中从一个页面导航到另一个页面时(目前我有三个页面:Home,About,Contact),页面显示为空白。只有当我在Mac上进行硬刷新(Shift Command R)时才会加载所有资产。当我查看Chrome开发工具中的“网络”选项卡时,看起来资产正在加载 - 我不是看到404的。
以下是我的应用目录的屏幕截图,供您查看我正在使用的内容: http://d.pr/i/lQlV
另外,这是我的app.js文件:
var express = require('express')
, partials = require('express-partials')
, app = express();
app.configure(function() {
app.set('title', ' | ToDo App');
app.set('view engine', 'ejs');
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');
app.use(partials());
});
app.get('/', function(request, response, next) {
response.render('index', { title: "Home" + app.get('title') });
});
app.get('/home', function(request, response, next) {
response.redirect('/');
});
app.get('/about', function(request, response) {
response.render('about', { title: "About" + app.get('title') });
});
app.get('/contact', function(request, response) {
response.render('contact', { title: "Contact" + app.get('title') });
});
app.use(function(request, response){
response.render('404', { title: "404" + app.get('title') });
});
app.listen(3000);
答案 0 :(得分:0)
您没有使用处理所有路线的app.router
:
app.use(app.router);
app.get('/', function(req,res,next){
res.render('index');
});