Articles of 路由

Express JS反向URL路由(Django风格)

我正在使用Express JS,我想要一个类似于Django的reversefunction的function。 所以,如果我有一个路线,例如 app.get('/users/:id/:name', function(req, res) { /* some code */ } ) 我想用一个函数为例 reverse('/users/:id/:name', 15, 'John'); 甚至更好 reverse('/users/:id/:name', { id : 15, name : 'John' }); 这将给我的url/users/15/John 。 这样的function是否存在? 如果没有,那么你有什么想法如何写这样的function(考虑Express的路由algorithm)?

在节点JS中使用Express进行查询string的预路由

我试图用express来parsing查询string,以防某些参数被设置,并在实际路由发生之前执行一小段代码。 用例是获取一个可以设置的特定值,而不依赖于正在使用的链接。 我使用快递'function,通过使用next()传递给下一个可能的规则的东西。 到目前为止,我试过了 – 在所有的app.get / post-rule-block的顶部: app.get('[?&]something=([^&#]*)', function(req, res, next) { var somethingID = req.params.something; // Below line is just there to illustrate that it's working. Actual code will do something real, of course. console.log("Something: "+somethingID); next(); }) app.get('/', site.index); 并且: app.param('something', function(req, res, next) { var somethingID = req.params.something; console.log("Something: "+somethingID); next(); […]

Sails.js路由,在URL中的variables。 前/游戏/(ID在这里)

我试图find一个指导,如何获得path工作与变数在url例:游戏/ 124512并获得该ID到控制器的variables。 我的routes.js现在: '/': { view: 'homepage' }, '/games/': { controllers: 'games', } 我的GamesController.js现在: var GamesController = { sayHello: function (req, res) { res.view('homepage', { user : "sayHello", }); }, sayWelcome: function (req, res) { res.view('homepage', { user : "sayWelcome", }); } }; module.exports = GamesController; 我可以写/游戏/ sayHello或/ games / sayWelcome,但我想是能够编写例如/游戏/ 234234或/游戏/ 234234 /设置 谢谢! […]

在Express或与Node.js连接,有没有办法在内部调用另一个路由?

所以,我有这样的设置(在Express中): app.get('/mycall1', function(req,res) { res.send('Good'); }); app.get('/mycall2', function(req,res) { res.send('Good2'); }); 如果我想让一个聚合函数调用/mycall1和/mycall2而不重写代码/mycall1用/mycall1和/mycall2代码? 例如: app.get('/myAggregate', function (req, res) { // call /mycall1 // call /mycall2 });

表示参数化的路由冲突

我在Express 4.13应用程序中有两条路线: router.get('/:id', function (req, res) { }); router.get('/new', function(req,res){ }); 但是当我试图访问/new – 我得到404,因为没有“新”的对象。 那么我怎样才能改变设置,我可以访问/新路线而不会混淆/:id路由。 谢谢。

快速检测,如果请求来自一个子域?

我正在使用npm子域名,并保持路由清洁我想做的事情。 router.get('/login_success',function(req,res) { if(req.subdomain) { res.redirect('/'); } else { res.sendStatus(200); } }); 在上面,如果用户通过子域login应用程序,我redirect到呈现configuration文件的子域根目录。 如果用户通过非子域路由login,它使用ajax来渲染视图,所以我需要发送200状态,说明用户是有效的。 我觉得这是更干净,每个有两个单独的callback路线。 所以我的问题是,有没有办法来检测req是否来自子域或常规域。 我知道有req.headers.origin但我想知道是否有一个更相对的方式做到这一点,所以当来回地方和生产之间,我不必改变它。

在Express.js中使用路由作为别的路由的别名

我正在使用Express.js编写一个基本的博客。 说我有这样的路线结构: /blog/page/:page 我还想要一个/blog路线,本质上是/blog/page/1的别名。 如何在Express中轻松处理? 所有路线都是这样定义的: app.get('/path', function(req, res) { //logic });

Restify:URL中的API版本

目前正在使用restify进行API开发,仍然不能习惯在头文件中指定API版本。 它只是不太友好的用户界面。 版本是否有任何方式成为url的一部分? 例子是: http://domain.com/api/v1/action 或者在我的情况下更好: http://api.domain.com/v1/action 谢谢

像公共WiFi热点中使用的节点JS互联网网关/强制门户

我想build立一个节点的互联网网关/强制门户网站。 所以我可以有一个用户“授权”他的MAC地址或IP地址,如果MAC地址是不可能的像用于WiFi热点 所以我想到的是节点可以有一个DHCP服务器,它将其IP地址作为网关。 因此,如果用户在networking浏览器上加载一个页面,它会给他们一个authentication屏幕,然后他们可以login,然后网关可以正确地路由它的数据包。 我怎样才能做node.js的授权步骤,所以如果他们没有login它提出了login页面,如果他们要正确的路由数据包?

Angular 2.0深度链接不起作用。 地址栏也一样

一切工作正常,当我build立和导航应用程序中的链接,但在地址栏中键入不! 最终,我希望能够通过电子邮件发送链接到特定的应用程序页面/path,我不知道如何实现。 我遵循了angular度路由器指南文档 。 我正确地认为… 我使用NodeJS(与快递),并在服务器中,我已经redirect到应用程序根的所有stream量。 app.get("*", function(req, res) { console.error("in get *") res.redirect("/"); }); 在我的index.html中我已经设置了基地 <base href="/"> 我有我的客户端path/path设置如下 const appRoutes: Routes = [ { path: 'vendor/registration', component: VendorRegistrationComponent }, { path: 'vendors', component: VendorListComponent }, { path: '', redirectTo: 'vendor/registration', pathMatch: 'full' }, { path: '**', component: PageNotFoundComponent } ]; 如果我在浏览器地址栏中键入http://localhost:8080/vendors ,则可以访问http://localhost:8080/vendor/registration ,这是有道理的,因为这是服务器告诉浏览器redirect到的地方。 那么我应该如何深入链接到我的应用程序? […]