Node.js 解析云代码模块中的快速路由

Node.js 解析云代码模块中的快速路由,node.js,express,parse-platform,Node.js,Express,Parse Platform,我正在使用parse.com云代码和express来设置我的路由。我以前在node上做过这项工作,我的路由在单独的文件中。所以,在节点中,我是这样做的 app.js express = require("express"); app = exports.app = express(); require("./routes/js/account"); var express = require('express'); var app = express(); app.get('/hello'

我正在使用parse.com云代码和express来设置我的路由。我以前在node上做过这项工作,我的路由在单独的文件中。所以,在节点中,我是这样做的

app.js

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

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

app = module.parent.exports.app;
app.get("/api/account/twitter", passport.authenticate("twitter"));
parses站点上的所有示例都显示了这一点,如下所示

app.js

express = require("express"); 
app = exports.app = express();
require("./routes/js/account");
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文件的routes文件夹,但不确定如何在解析中执行此操作。

我使用的是另一种方法,将routes放在app.js中,但如果愿意,您可能可以将它们包含在文件中。看看示例应用程序,

其工作方式:

设置控制器:

// 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);
然后在中,您可以使用导出,例如

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', {});
};

将应用程序引用传递到post controller,并从那里添加路由

我知道这篇文章有点过时,但我只想为仍希望让它发挥作用的任何人发布一个解决方案

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

是的,我喜欢这种方法。但我仍然希望将我的路由移出app.js文件,因为我将拥有大量路由,并且每个路由都至少有一点代码可以通过回调调用控制器。所以,我想把app.get放在不同的文件中。