Tag: 路由

express.js路由

这两个express.js路线匹配吗? /:campus/:tlf_id/message /:campus/:message_id/reply 在express.js看来,这样做。 我不确定我是否明白这一点。 也就是说,如果请求/12/90/reply /:campus/:tlf_id/message /12/90/reply可能会被/:campus/:tlf_id/message ?

在Mongoose模型中对元进行sorting

我正在处理上传图片的应用程序,并且上传的图片以缩略图并排显示。 我想要实现filter的可能性,以便可以以不同的顺序显示图像,例如,大多数点的图像以降序排列。 我有麻烦想出一个很好的解决scheme,应该怎么做,我能想到的唯一的事情就是为此创build一个新的路线(就像我现在使用的路线一样),但是不同的sorting。 这是DRY编码,而不是一件好事,特别是因为我有更多的sorting选项的计划。 我有两个问题: 有没有更好的方法来完成这个(一个解决scheme,以便我不需要调用一个路由,而是在客户端做呢,或者可能传递一个参数到路由和if语句决定如何sorting) ? 如果应该在服务器端进行sorting,我怎样才能做到这一点? 计算点数(upvotes – downvotes),并不直接存储在Schema中。 图像模型: var ImageSchema = new Schema({ name : String, size : Number, title : String, body : String, buf : Buffer, date: { type: Date, default: Date.now }, comments : [CommentSchema], meta : { upvotes : Number, downvotes : Number, favs : Number, uniqueIPs […]

如何处理express.js路由?

我有类似的路线 app.get('/home',requireLogin,routes.home) exports.home = function(req, res){ res.render('index', { title: 'home' }); }; 现在如果我想我的url看起来像这样 /home/menu/someting 我必须创build像这样的路线 app.get('/home/menu/someting',requireLogin,routes.newRoutes) 或者我可以只修改routes.home来处理其余的url,就像是有第二个/东西做某事。 我知道我可以有家/:参数,但我需要的url看起来完全像家/菜单/东西,后我会有:参数。 只是回答我这是可能的处理/ home和/ home /菜单在相同的路线,没有参数

路线和意见

我用express来使用nodejs。 在对根path的获取请求中,我想要路由到索引文件。 如果有path“/游戏”的获取请求,我想要路由到不同的来源。 app.get('/', function(req, res){ res.render( "index", {locals : { myLocal : "myValue"}} ); }); app.get('/game', function(req, res){ res.render("/game/index", {locals : { myLocal : "myValue"}} ); }); 第一个“get”很好,但第二个发送这个exception: 500 Error: failed to locate view "/game/index" at Function.exports.compile (D:\Webstorm\myExpress\node_modules\express\lib\view.js:61:15) at ServerResponse.res._render (D:\Webstorm\myExpress\node_modules\express\lib\view.js:417:18) at ServerResponse.res.render (D:\Webstorm\myExpress\node_modules\express\lib\view.js:318:17) at exports.game (D:\Webstorm\myExpress\routes\index.js:12:9) at callbacks (D:\Webstorm\myExpress\node_modules\express\lib\router\index.js:272:11) at param (D:\Webstorm\myExpress\node_modules\express\lib\router\index.js:246:11) at […]

在脚手架复合js的路线中拼写错误问题

我是新的节点和复合。 当我试图脚手架 compound g crud leaveApplication leave_code:string description:string applicable:string carry_forward:boolean limit_type:boolean lop:boolean od:boolean co:boolean leave_revision:boolean active:boolean 我得到一些错误,然后我尝试了 compound g crud leave code:string description:string applicable:string cForward:boolean limit:boolean lop:boolean od:boolean co:boolean leave_revision:boolean active:boolean 但现在发生的错误是以路线的名义 leaves GET /leaves.:format? leaves#index leaves POST /leaves.:format? leaves#create new_leafe GET /leaves/new.:format? leaves#new edit_leafe GET /leaves/:id/edit.:format? leaves#edit leafe DELETE /leaves/:id.:format? leaves#destroy leafe PUT /leaves/:id.:format? […]

Express如何处理路由,“#”是做什么的?

我已经安装了一个Express服务器,使用backbone.js与几条路线,我试图通过使用req.params的URL捕获信息。 我已经用适当的路由设置了我的服务器 app.get( '/route/:first/:second', router.routeHandler ); 用我的快递服务器,当我input这样的url: http://localhost:3000/route/firstVar/secondVar 我得到原始JSON返回给我,但是当我尝试一个这样的url: http://localhost:3000/#route/firstVar/secondVar 它会实际呈现HTML和CSS到页面。 那里发生了什么? 我可以改变这种行为吗? 那个设置在哪里?

Param在Express中为嵌套路由parsing两次

当我为下面的代码做GET http://localhost:8080/messages/3/sentiments为什么param方法被调用两次? 所以如果我有10条路线,那么会被称为10倍? var comments = new Router(); comments.get('/comments', function (req, res, next) { res.send('Comments by message_id=' + req.message._id); }) var sentiments = new Router(); sentiments.get('/sentiments', function (req, res, next) { res.send('Comments by message_id=' + req.message._id); }) var messages = new Router(); messages.param('_message', function (req, res, next, _id) { console.log("Set message"); fs.readFile(__filename, function () { […]

如何使用Node.js和Passport进行身份validation后,使用自己的ID将用户redirect到主页?

我刚刚开始学习node.js,所以在我身上很容易:P 我正在使用护照来validation用户。 成功validation后,用户需要redirect到他的主页,并将其ID作为URL参数,例如: /home?id=325346546 这是我的routes.js的一部分 // process the login form app.post('/', passport.authenticate('local-login', { successRedirect : '/home?id='+req.user._id, //error because 'req' isn't declared failureRedirect : '/', failureFlash : true })); 这是我的想法,我想通过ID作为参数的URL。 我曾试图把一个 function(req, res) { } 但它没有工作。 任何帮助将不胜感激。

Node.JS等价于getContextPath,getServletPath?

我正在开发一个web服务器,它将加载各种“web应用程序”在同一个域上的各种模块。 在下面的例子中, createServer(function (req, res) { // crude request routing example var path = url.parse(req.url).pathname if(path.match(/^\/cats(?:\/|$)/)) require('./cats.js')(req, res) else if(path.match(/^\/dogs(?:\/|$)/)) require('./dogs.js')(req, res) else require('./404.js')(req, res) }) if语句检查匹配的上下文path,并将其路由到适当的模块。 现在模块cats.js看起来像这样: module.exports = function (req, res) { var path = url.parse(req.url).pathname // HOW can I get context path and path info? What variables should I use? if(req.path == […]

使用meteor监听webhook服务器端

我已经build立了一个使用iron-router的meteor应用程序,我希望应用程序听从另一个服务的webhook(基本上我build立一个API使用其他服务) 因此,例如,当一个外部网站调用myapp.meteor.com/webhook我想捕捉具体的链接和参数,并做数据的东西。 更新:感谢评论,我发现这个: https : //github.com/iron-meteor/iron-router/blob/devel/Guide.md#server-routing Router.route('/webhooks', { where: 'server' }) .post(function () { console.log(this); this.response.end('Caught you\n'); //this.response.status(200).json({text:"Todo added"}); }); 我在/server文件夹中添加了上面的内容,因为没有必要让前端服务器担心这个,就像评论中提到的一样。 但是,当我加载这个使用postman POST请求,它只是返回我的HTML not found 。 有任何想法吗? 在此先感谢您的帮助。 更新我试着@David说什么,仍然我得到的模板加载,并没有在控制台中。 任何想法我做错了什么?