我写了一个简单的expressjs应用程序,它在本地运行得很好,甚至在no.de上也运行得很好,但在Nodester上,当我访问http://myapp.nodester.com/时,我得到了一个Internal Server Error,日志显示
Error: failed to locate view "home"
at Function.compile (/node_modules/express/lib/view.js:58:15)
at ServerResponse._render (/node_modules/express/lib/view.js:416:18)
at ServerResponse.render (/node_modules/express/lib/view.js:317:17)
at Router.<anonymous> (/app/server.js:32:6)
at done (/node_modules/express/lib/router/index.js:250:22)
at middleware (/node_modules/express/lib/router/index.js:244:9)
at param (/node_modules/express/lib/router/index.js:227:11)
at pass (/node_modules/express/lib/router/index.js:232:6)
at Router._dispatch (/node_modules/express/lib/router/index.js:255:4)
at Object.handle (/node_modules/express/lib/router/index.js:45:10)
Error: failed to locate view "home"
at Function.compile (/node_modules/express/lib/view.js:58:15)
at ServerResponse._render (/node_modules/express/lib/view.js:416:18)
at ServerResponse.render (/node_modules/express/lib/view.js:317:17)
at Router.<anonymous> (/app/server.js:32:6)
at done (/node_modules/express/lib/router/index.js:250:22)
at middleware (/node_modules/express/lib/router/index.js:244:9)
at param (/node_modules/express/lib/router/index.js:227:11)
at pass (/node_modules/express/lib/router/index.js:232:6)
at Router._dispatch (/node_modules/express/lib/router/index.js:255:4)
at Object.handle (/node_modules/express/lib/router/index.js:45:10)然后,通过fs模块,我试图了解它不存在的原因,fs.readdir('.',function(error,files){console.log(files)})返回了以下内容:
[ '.nodester',
'app',
'node_modules',
'usr',
'lib64',
'sbin',
'etc',
'dev',
'proc',
'home',
'bin',
'lib',
'root',
'.PKGINFO',
'.INSTALL' ]我还发现我git push编辑的所有文件都在apps目录中。
这是否意味着我必须告诉express我的views文件夹所在的正确路径?我该怎么做呢?(我只知道如何告诉它以绝对路径呈现文件)。
发布于 2011-09-01 20:52:32
使用内置变量__dirname手动设置视图目录
var app = module.exports = express.createServer();
app.configure(function(){
...
app.set('views', __dirname + '/views');
app.use(express.static(__dirname + '/public'));
});尝试使用express逗号行工具生成应用程序框架(如果您从npm安装了最新的express版本,则可以访问该工具)。它为你创造了一个很好的起点。
https://stackoverflow.com/questions/7259437
复制相似问题