发送指定URL的静态文件

时间:2015-09-22 06:25:30

标签: javascript node.js express parse-platform

我目前正在使用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错误并没有真正揭示太多。

2 个答案:

答案 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');
});