Javascript Express无法查找视图
我正在尝试创建一个SPA应用程序,但当我启动我的应用程序时,它会执行infinte循环,导致崩溃。我正在使用ExpressJS4.3.0 应用程序架构: 公开的 --分部 ----翡翠索引 server.js 我的快递代码:Javascript Express无法查找视图,javascript,node.js,express,mean-stack,Javascript,Node.js,Express,Mean Stack,我正在尝试创建一个SPA应用程序,但当我启动我的应用程序时,它会执行infinte循环,导致崩溃。我正在使用ExpressJS4.3.0 应用程序架构: 公开的 --分部 ----翡翠索引 server.js 我的快递代码: var app = express(); var port = process.env.PORT || 8080; app.set('views', __dirname + '/public'); app.set('view engine', 'jade'); app.
var app = express();
var port = process.env.PORT || 8080;
app.set('views', __dirname + '/public');
app.set('view engine', 'jade');
app.use(express.static(__dirname + '/public'));
app.get('*', function (req, res) {
res.render('partials/index');
});
app.get('/', function (req, res) {
res.render('partials/index');
});
app.get('/partials/:name', function (req, res) {
res.render('/partials/' + req.params.name);
});
app.listen(port);
console.log('Server is running on port: ' + port);
如果我使用
res.render('/partials/index');
我收到一条信息:
Error: Failed to lookup view "/partials/index" in views directory
看起来您不应该在
render()
中的视图路径中有前面的/
。只需使用'partials/'+req.params.name
请注意,您确定要将实际视图文件公开吗?通常,它们存储在公共静态目录之外(例如,
/public
包含静态资产,/partials
包含视图)。同样,由于express中的视图查找功能,您不必一直在视图路径前面加上部分/
Its
这使得它假设“/partial/index”已经是一个绝对路径,并且没有以根路径作为前缀
同时移动
app.get('*', function (req, res) {
res.render('partials/index');
});
除此之外,它将始终服务于索引视图。仍然无法解决崩溃问题。我有3个不同的结果:Express没有找到视图/找到视图,但执行无限循环并崩溃/找到视图,但无法加载静态文件。至于体系结构,我可能会将所有这些文件移动到服务器目录中。谢谢你的提示!
app.get('*', function (req, res) {
res.render('partials/index');
});