有时当我加载页面时它根本不呈现,它不会产生任何错误,实际上客户端从服务器获得正确的响应(带有所需的静态内容),但我看到一个空白页面。如果我尝试检查页面上的元素,那么一切都会正确显示。我有以下中间件配置,但我不认为问题在这里:
App.app.set('views', App.appPath("app/views"))
App.app.set('view engine', 'jade');
App.app.set('view options', {
pretty: env === 'development'
})
App.app.locals({
constants: App.util('htmlConstants')
})
// Middlewarez
App.app.use(express.logger('dev'))
App.app.use(express.compress())
App.app.use(express.bodyParser())
App.app.use(express.methodOverride())
App.app.use(appCookieParser)
App.app.use(express.session({
store: appRedisStore
}))
App.app.use(require('stylus').middleware(App.appPath('public')))
App.app.use(App.app.router)
if (App.env === 'development') {
App.test = function(path) {
return App.require("app/test/" + path)
}
App.app.use(express.static(App.appPath('public')))
} else {
App.app.use(express.static(App.appPath('public')), {
maxAge: settings.oneDay
})
}
App.app.use(function(err, req, res, next) {
console.log('in error handler')
console.log(err.message)
next(err)
});
App.app.use(express.errorHandler());
答案 0 :(得分:-1)
缓存可能有问题。
而不是:
App.app.use(express.static(App.appPath('public')))
} else {
App.app.use(express.static(App.appPath('public')), {
maxAge: settings.oneDay
})
}
这样做:
//Development only
App.app.configure('development', function() {
app.use(express.static(App.appPath('public'));
app.use(express.errorHandler());
});
//Production only
App.app.configure('production', function() {
var threeMonths = 7884000000; //Cache time in ms
app.use(express.static(App.appPath('public'), { maxAge: threeMonths }));
});
像这样运行您的应用程序:
sudo NODE_ENV=development node app.js
答案 1 :(得分:-1)
使用console.log('variableName');并观察从db获得数据的变量的值。
如果不正常,则表示您可能无法从服务器端获取数据!