Tag: 路由

用多对一的方式覆盖sails GET蓝图

警告:新的networking编程。 我有一个帆船项目中的以下内容: // in models/User.js // user has many videos module.exports = { attributes: { videos: { collection: 'video', via: 'owner' } } } // in models/Video.js // video has one user module.exports = { attributes: { owner: { model: 'user' } } } 我正在使用带有/ v1前缀的REST蓝图。 我试图重写GET / v1 / user /:id / video,或者自定义路由到GET / […]

如何在NodeJS中创build具有唯一ID的路由

所以我正在与节点,快车,mongoose和蒙古的工作。 我能够创build/保存主题到数据库。 但是当主题被保存/创build时,我想将用户redirect到创build的主题的主题详细信息页面(因此,基本上每个创build的主题都有自己独特的基于id的URL,例如 – > localhost:3000 / topicdetail / id ) 我的问题是,redirect时,我得到一个错误说:错误:无法查看视图“错误”视图目录“/用户/宽限期/桌面/质量保证/视图” 所以我的主要问题是我是否正确地redirect它自己的唯一ID或者我做了其他错误。 任何帮助是受欢迎的。 我的代码如下: var mongoose = require('mongoose'); var Topic = require('../models/topic'); var db = require('../config/database'); var express = require('express'); var router = express.Router(); // render the start/create a new topic view router.get('/', function(req, res) { res.render('newtopic'); }); // save topic to db router.post('/',function(req, […]

如何在另一个文件中正确应用路由

我是相当新的expressionjs,我想知道如何使用路由器。 我用这段代码在routes目录下创build了一个名为categories.js的文件。 类别.js代码: var express = require('express'); var router = express.Router(); /* GET users listing. */ router.get('/categories', function(req, res) { res.send('this is the category'); }); module.exports = router; 里面的app.js我有这样的代码: var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var routes […]

Angular没有响应任何路由与ui路由器 – URL只是消失时,我进入

我正在使用NodeJS + Express来为Angular应用程序提供HTML页面。 它加载时似乎工作正常。 没有错误。 问题是那个页面几乎是空白的 – 除了标题。 但是应该去哪里<div ui-view></div>部分不会显示任何内容。 更糟的是,当我去一个地址,像 http://localhost:7070/admin/#/rounds 浏览器只是改变它 http://localhost:7070/admin/#/ 并回到没有显示。 我的angular度应用程序,在index.js看起来像这样: 一些.run()和.config()设置 app.run(['$rootScope', '$state', '$stateParams', function ($rootScope, $state, $stateParams) { // It's very handy to add references to $state and $stateParams to the $rootScope // so that you can access them from any scope within your applications.For example, // <li […]

如何将一些URL模式路由到特定的端口?

我有一个运行在端口3000上的节点服务器。我将使用它来处理所有的API,但是我不希望这些URL处于格式 example.com:3000/api/xyz 我希望它的格式是: example.com/api/.. 如何将所有/ api /呼叫路由到端口3000? example.com将提供HTML页面,与节点无关。 节点现在只能用于API。 我发现了清漆,但它看起来像矫枉过正。

Express.js:路由中的正则expression式

我想在我的url中获得一个值。 我的url是这样的: 主机/:value.schema 我想获得价值。 例如: 主机/ horse.schema值=马 我有另一个path没有.schema: 主机/:值 例如: 主人/马值=马 告诉Express如何改变?

从HTML获取dynamic路由input

我正在使用ejs作为模板语言。 <main class="content"> <% documents.forEach(function(documentObject) { %> <h1><a href="/showprofile/:username"><%= documentObject.username %></a> solved </h1> <h2><%= documentObject.problem_id %>. <%= documentObject._statement %> in <%= documentObject.time %> seconds on <%= documentObject.date_added %> . </h2> <% }) %> </main> 我正在使用dynamic路由/showprofile/:usernameredirect/showprofile/:username 。 我需要以这样的方式创build超链接,使得documentObject.username的值作为parameter passing给:username 。 我怎样才能做到这一点 ?

使用护照注册后,请阻止用户进行身份validation

我使用护照和express.jsbuild立了login/注册界面和机制。 我的问题是在用户注册后,我们被redirect到login页面,但是我们最终可以更改URL并立即在用户configuration文件中input,但这当然不是期望的。 我希望用户在注册后没有通过身份validation,他需要在login页面中手动input他/她的凭据,然后才能进入configuration文件。 router.get('/', isAuthenticated, function(req, res) { res.render('library', { // passing the id of and username the connecting user to the dust userid: req.user._id, username: req.user.userName }); }); router.get('/library', isAuthenticated, function(req, res) { res.render('library', { // passing the id of and username the connecting user to the dust userid: req.user._id, username: req.user.userName }); }); […]

封装快速路由器

是否有可能使用不共享中间件的Express.Router创build不同的路由器? 对我来说,Express.Router似乎使用单身,所以无论我尝试什么,中间件都会连接到所有路由器。 因此,无需创buildExpress应用程序的多个实例,是否有办法实现以下function: 创build多路由器 var router_a = Express.Router(); var router_b = Express.Router(); 给每个路由器独特的路由和中间件 router_a.use(function(req, res, next){ console.log('Only works on router_a!'); }); router_a.get('/', function(req, res){ console.log('Only works on router_a!'); }); router_b.use(function(req, res, next){ console.log('Only works on router_b!'); }); router_b.get('/', function(req, res){ console.log('Only works on router_b!'); }); 将每个路由附加到自定义URL名称空间 app.use('/a', router_a); app.use('/b', router_b); 有没有一个简单的方法来实现这一目标? 阅读路由器上的文档后,我没有看到任何暗示这种可能性的东西。

Express.js路由。 如何在所有现有路线之前放置默认路线

我可能说错了这个问题,请耐心等待。 所以现在我有一些路线: 本地主机:3000 /索引 本地主机:3000 /家 本地主机:3000 /login 本地主机:3000 /忘记 但在URL中的每个路由之前,我需要一个这样的客户端名称: 本地主机:3000 /客户端/索引 本地主机:3000 /客户/家庭 本地主机:3000 /客户/login 本地主机:3000 /客户/忘记 有没有一个好的方法来做到这一点,而不需要手动改变所有的路线string 再次抱歉,如果我这个问题措辞不佳。