Parse云代码模块中的快速路由

时间:2013-08-08 21:16:18

标签: node.js express parse-platform

我正在使用parse.com云代码和express来设置我的路线。我以前用node做过这个,我的路由在不同的文件中。所以,在节点I中

app.js

express = require("express"); 
app = exports.app = express();
require("./routes/js/account");

account.js

app = module.parent.exports.app;
app.get("/api/account/twitter", passport.authenticate("twitter"));

解析网站https://parse.com/docs/cloud_code_guide#webapp上的所有示例都显示如下所示。

app.js

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

app.get('/hello', function(req, res) {
  res.render('hello', { message: 'Congrats, you just set up your app!' });
});

所以,我想更改底部以包含带有单独路径文件的routes文件夹,但我不知道如何在解析时执行此操作。

3 个答案:

答案 0 :(得分:4)

我知道这篇文章有点陈旧,但我只是想为那些仍然想要让它发挥作用的人发布一个解决方案。

您需要做的是创建路线文件,我将它们保存在'路线'forlder中,例如<my_app_dir>/cloud/routes/user.js

在user.js中,您将看到如下内容:

module.exports = function(app) {

   app.get("/users/login", function(req, res) {
      .. do your custom logic here ..
   });

   app.get("/users/logout", function(req, res) {
      .. do your custom logic here ..
   });
}

然后,在app.js中,您只需添加文件,但请记住,您需要将cloud附加到路径,并将引用传递给您的应用实例:

require('cloud/routes/user')(app);

另外,请记住express按顺序评估路由,因此在导入多个路径文件时应考虑到这一点。

答案 1 :(得分:1)

我正在使用不同的方法,在app.js中有路由,但如果您愿意,可以将它们包含在文件中。看一下示例应用, anyblog on github

它的工作方式:

设置控制器:

// Controller code in separate files.
var postsController = require('cloud/controllers/posts.js');

添加控制器路径

// Show all posts on homepage
app.get('/', postsController.index);

// RESTful routes for the blog post object.
app.get('/posts', postsController.index);
app.get('/posts/new', postsController.new);

然后在posts.js中,您可以使用导出,例如

var Post = Parse.Object.extend('Post');

// Display all posts.
exports.index = function(req, res) {
  var query = new Parse.Query(Post);
  query.descending('createdAt');
  query.find().then(function(results) {
    res.render('posts/index', { 
      posts: results
    });
  },
  function() {
    res.send(500, 'Failed loading posts');
  });
};

// Display a form for creating a new post.
exports.new = function(req, res) {
  res.render('posts/new', {});
};

答案 2 :(得分:0)

将应用程序引用传递给帖子控制器,并从那里添加路由