3

我正在使用带有 express 的 parse.com 云代码来设置我的路线。我过去曾使用 node 完成此操作,并且我的路由位于单独的文件中。所以,在节点我做

应用程序.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上的所有示例都显示此操作如下所示。

应用程序.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!' });
});

所以,我想更改底部以包含一个带有单独路由文件的路由文件夹,但我不确定如何在解析中执行此操作。

4

3 回答 3

4

我知道这篇文章有点老了,但我只是想为仍然希望让它工作的任何人发布一个解决方案。

您需要做的是创建您的路线文件,例如,我将它们保存在“路线”文件夹中<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 按顺序评估路由,因此在导入多个路由文件时应考虑到这一点。

于 2014-07-16T16:41:51.857 回答
1

我使用了不同的方法,在 app.js 中有路由,但如果你愿意,你可以将它们包含在文件中。看看示例应用程序, github上的anyblog

它的工作方式:

设置控制器:

// 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', {});
};
于 2013-08-10T15:59:26.057 回答
0

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

于 2013-10-07T16:25:46.683 回答