我已经使用 Node.js + Express + Jade 很长时间了。自从升级到节点 0.8.12 后,render( ... ) 命令在我的生产服务器上只是超时。
在这个例子中,“1”被打印到日志,但“2”不是,并且页面超时。当然,我确实有一个名为views/test.jade 的文件。而且,这再次在我的测试服务器上使用相同的代码运行良好......
console.log('1');
res.render('test');
console.log('2');
所以我将 Node.js 降级回 0.6.18(我之前使用的)并且代码再次正常工作。但是我需要更新的节点版本……我能想到的一个主要区别是,0.6.18 是通过 YUM 安装在 CentOS 上的,但我不得不自己制作 v0.8.12,因为我找不到合适的包。
这是我尝试过的:
- 升级快递(@3.0.0rc5)和翡翠(@0.26.3)
- 在 render() 函数中使用回调(它永远不会被调用)
- 通过 app.set('views', absolute_path); 显式设置 views/ 目录
- 故意使用无效的模板名称来尝试获取错误。仍然没有(没有触发回调,没有执行)
- 哭泣
想法?