我目前正在使用parse来部署我的网络应用。我使用Express将URL路由到适当的内容。
目前我正在尝试为以下网址提供index.html;
mystackoverflowapp.parseapp.com/hi
在我的云代码中,我有以下请求处理程序
app.get('/hi', function(req, res){
res.sendFile('index.html');
});
根据解析文档,默认目录是公共目录。不幸的是,此请求处理程序不起作用当我转到stackoverflow.parseapp.com时,我收到500错误,“内部服务器错误”。
我遵循文档中概述的相同目录结构,并尝试在每个目录中都有index.html文件。
如果我尝试
res.send('This works!')
对于相同的路线,我得到了预期的响应,
"This works!".
对我做错了什么的想法?另外,对此进行更好调试的最佳方法是什么? 500错误并没有真正揭示太多。
答案 0 :(得分:1)
你可能走错路。要查看错误,请尝试以下操作:
scanf("%s",&a);
length = strlen(a);
for(j = 0; j < length; j++){
if(isdigit(a[j])){
int temp = a[j];
val = (long)temp;
printf("number: %ld\n",temp);
Push(&S, val);
}
}
答案 1 :(得分:1)
来自http://expressjs.com/4x/api.html#res.sendFile:
除非在options对象中设置了root选项,否则path必须是 文件的绝对路径。
更新1:我试过了:
app.get('/test', function(req,res) {
try {
res.sendFile('test.html');
} catch (err) {
res.send('ERROR ' + err);
}
});
它产生:
错误TypeError:对象[object Object]没有方法'sendFile'
然后我偶然发现了这个:How to manually serve files on Parse.com?。相关引用:
......似乎Parse运行Node模块的自定义子集。他们已经删除了 所有文件系统方法。 Express API上没有sendFile(),没有 fs模块上的readFile()...
更新2:
Parse为您的应用设置静态文件处理程序,请尝试以下操作:
app.get('/hi', function(req, res){
res.redirect('/index.html');
});