解析服务器:自定义端点/快速路由

时间:2016-06-07 02:26:02

标签: node.js express cloud-code parse-server

在Parse Server中,您应该在哪里放置快速路线?我发现如果我把它们直接放在index.js中它们才有用,但那不是最好的地方,是吗?

我把它放在我的cloud / main.js中:

=IIF(IsDate(Fields!fp_firstshifttimein.Value),
DateTime.Parse(iif(IsDate(Fields!fp_firstshifttimein.Value) ="1",
Fields!fp_firstshifttimein.Value,"01/01/1900")).addDays(8), nothing)

我的控制台输出显示"此文件肯定运行"在启动服务器时,但是当我尝试访问localhost:1337 / test时,它只是说"无法获取/测试"。如果我只放置app.get(' / test',...);在index.js中,它有效。我想这是因为我不允许创建另一个express()实例,也许有一种方法来获取在index.js中创建的实例?

1 个答案:

答案 0 :(得分:3)

我意识到你提出的问题不同于我的回答所指出的问题。万一你实际上忘了app.listen我会把它留在下面。

如果您要将路线导出到其他文件,则需要将app对象从index.js传递到路径文件。

我通常做的是三个抽象层次。首先,您有index.js声明appexpress instances。然后我有一个单独的文件,比如说routeDefinitions.js(我通常称之为索引并在申请后命名起点)。

routeDefinitions.js内部,我使用app中的index.js实例声明路由,从而产生以下结果:

app.js

var express = require('express');
var app = express();

var routes = require('./routeDefinitions')(app);

routeDefinitions.js

var test = require('./test');

module.exports = function(app) {
    app.get('/test', test.working);

    return app;
};

然后将每种类型的对象放在它自己的路径文件中(比如你有用户,苹果和汽车,那么每个对象都有自己的路径文件)。

test.js

module.exports.working = function(req, res) {
    console.log("working?");
    res.status(200).send('working?');
};

<小时/> 您需要致电app.listen启动服务器。请参阅Hello World example

您看到This definitely runs因为您确实正在处理您的脚本,但是您没有收听请求,因为您忘记启动快速服务器。