在Node/Express中渲染视图总是会导致错误
Rendering view in Node/Express always causes error
我配置了nodejs/express应用程序,如下所示;
app.set('views', __dirname + './views');
app.set('view engine', 'ejs');
然后我添加了一条类似的路线
app.get('/page/MyPage', function(req, res) {
// res.statusCode = 200; // Setting the status code here has no effect on the error.
res.render('MyPage', { Data: "Stuff" });
});
然而,每当我请求页面时,http://localhost:8000/page/MyPage
节点就会与TypeError: Cannot call method 'toString' of undefined
崩溃,从而中断http.js
类。
确切的线路:
var statusLine = 'HTTP/1.1 ' + statusCode.toString() + ' ' +
reasonPhrase + CRLF; // Aprox line 1180, in ServerResponse.prototype.writeHead = function(statusCode) function.
我尝试过在渲染中为"MyPage"添加扩展,也尝试过其他视图引擎。所有这些都产生了相同的结果。
视图确实存在于/views目录中。
有人有什么建议吗
app.set('views', __dirname + './views');
可能是app.set('views', __dirname + '/views');
解决方案:
在经历了大量javascript之后,我发现了这个问题。看来,尽管明示文件(http://expressjs.com/guide.html)建议这是自动完成的,我需要手动设置视图引擎。
在这种情况下,我还使用vash视图引擎。
app.set('views', __dirname + '/views');
app.set('view engine', 'vash');
app.engine('.vash', require('vash').renderFile);
这使我的视图能够按预期进行渲染。
相关文章:
- 当在ng视图中加载新路由时,Tabbing(tabindex)针对错误的元素
- 余烬引擎未捕获错误:找不到模块余烬视图/views/select
- 未捕获的错误:断言失败:余烬视图需要 1.7 和 2.1 之间的 jQuery
- 主干无法读取属性'属性'主干视图中的未定义错误
- Cordova网络视图超时错误
- Backbonejs,视图中的行为,未捕获的类型错误
- 主干视图集合错误
- 为什么我在尝试实例化一个空的backbone.js视图时出现类型错误
- 如果用户更改了url并且呈现了错误的视图
- 在Rereduce函数中合并对象的属性会导致每次创建视图时产生错误的值
- 在主干视图中处理图像错误事件
- 错误:无法查找视图“http://chart.googleapis.com/
- 未捕获的错误:子视图是不可变的
- Durandal:在找不到视图/视图模型时处理 RequireJS 错误
- 带有翡翠视图引擎的Hapijs显示错误的最佳方法
- 挖空视图模型绑定未定义错误
- 视图中的 JavaScript 错误 - 加载顺序
- UI 路由器嵌套视图不会呈现(无错误)
- Django 无法在视图中创建常规对象,返回 500 错误
- 创建全局主干.js错误视图