我正在使用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文件夹,但我不知道如何在解析时执行此操作。
答案 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)
将应用程序引用传递给帖子控制器,并从那里添加路由