gpt4 book ai didi

javascript - 错误: Failed to lookup view -> simple code

转载 作者:行者123 更新时间:2023-12-02 15:51:30 25 4
gpt4 key购买 nike

我想编译一个带有动态内容的jade文件。我的代码来自这里 http://jade-lang.com/tutorial/ :

app.get('/test', function(request, response){

var fn = jade.compileFile('views/test.jade');
var htmlOutput = fn({
maintainer: {
name: 'Forbes Lindesay',
twitter: '@ForbesLindesay',
blog: 'forbeslindesay.co.uk'
}
});
response.render(htmlOutput);
});

我收到以下错误:

Error: Failed to lookup view "<!DOCTYPE html><html lang="en"><h1></h1>Maintainer: Forbes L
indesay</html><table><tr><td>Twitter</td><td>@ForbesLindesay</td></tr><tr><td>Blog</td><td
>forbeslindesay.co.uk</td></tr></table>" in views directory "D:\test.js\views" "<!DOCTYPE html><html lang="en"><h1></h1>Maintainer: Forbes L
indesay</html><table><tr><td>Twitter</td><td>@ForbesLindesay</td></tr><tr><td>Blog</td><td
>forbeslindesay.co.uk</td></tr></table>" in views directory "D:\test.js\views"

变量似乎是正确的(取自route.js)。错误是什么意思?有几个问题像我一样,但我无法使其适应我的场景......

提前致谢

最佳答案

您正在尝试将渲染 Jade 模板的独立方法与 Express 为您渲染模板的功能混合起来。

试试这个:

app.get('/test', function(request, response) {
response.render('test.jade', {
maintainer: {
name: 'Forbes Lindesay',
twitter: '@ForbesLindesay',
blog: 'forbeslindesay.co.uk'
}
});
});

不过,请确保 Express 配置正确。在 Express 设置中,使用以下命令:

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

这假设 views/ 目录是您调用 response.render() 的 .js 文件的直接子级。更多信息here .

如果你确实想使用jade.compileFile(),你可以使用@ArtemBaranovskii评论中的建议并使用response.send(htmlOutput) .

关于javascript - 错误: Failed to lookup view -> simple code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31816727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com