Tag: 路由

在通过护照实例的快速路由中路由分离

我正在尝试将用户login模块添加到节点中的现有应用程序。 它使用单独的路由文件为每个模块和一个主路由文件使用最终在server.js中使用的所有子路由当我尝试将passport实例传递给用户路由时,由于未定义passport,因此导致错误。 这里是我的应用程序代码和结构: app views user index.ejs login.ejs signup.ejs profile.ejs routes docs index.js user index.js index.js config passport.js server.js server.js const express = require('express') const app = express() const path = require('path') const bodyParser = require('body-parser') const cookieParser = require('cookie-parser') const passport = require('passport') const flash = require('connect-flash') const session = require('express-session') const routes = […]

angular度为2的节点,当你在url栏中input路由时,会得到404错误

当使用angular度为2的节点时,有奇怪的事情发生,我想修复。 基本上,如果我要在URL中input路由,例如浏览器url栏中的localhost:3000/about 。 我不能得到/家。 但是,当点击导航栏,我有相同的链接/左右。 它工作得很好。 我知道这是一个节点的问题,因为最初,我使用开发服务器这个错误没有发生与angular2。 angular2路线 const routes: Routes = [ { path: '', redirectTo: 'home', pathMatch: 'full' }, { path: 'home', component: HomeComponent}, { path: 'private', component: PrivateComponent}, { path: 'title', component: TitleComponent}, { path: 'shop', component: WelcomeComponent }, { path: 'about', component: AboutComponent }, { path: 'login', component: LoginComponent}, { path: […]

根据数据库结果确定dynamic路由

我正在尝试为我的应用程序创build特定的路由规则。 不过,我希望这些规则是基于数据库中表格内容的通用方法。 这意味着根据数据库规则,有时可能会在restify服务中插入或删除一些路由。 我正在寻找一个解决scheme,但我找不到任何东西,这里是我的代码的一个例子: server.put('/logging/create', function(req, res, next){ return next(); }); server.delete('/logging/delete', function(req, res, next){ return next(); }); server.post('/logging/update', function(req, res, next){ return next(); }); 我想实现的是在不重新启动节点js脚本的情况下即时添加/删除特定的请求。 我所拥有的是一个包含所有规则的数组。 一个规则的例子是: { "name":"/logging/create", "method":"put", "status":"active" }, { "name":"/logging/delete", "method":"delete", "status":"inactive" }, { "name":"/logging/update", "method":"post", "status":"active" } 我唯一想要的是在飞行中添加/删除路线。

如何在电子中创builddynamic路线?

我怎样才能创buildelectrondynamic路线? 我很困惑,因为如果没有误, electron就不会使用URL

meteor – 加载/刷新页面时出错:跟踪器afterFlush函数的exception:未定义

如上所述,我得到一个错误和一个空的页面(但包括导航栏的布局在那里)被显示。 当我通过浏览器刷新链接或万一通过浏览器直接访问链接时,总是会出现此错误。 一切都很好,当我使用我的导航栏浏览模板。 所以,在页面真正的“加载”之后,我看不到任何数据。 我在Windows上使用Meteor Blaze。 这是一个截图: 图片和其他数据都没有显示。 我不知道,如果这是100%的行为的原因,但总是如果这种行为发生,我得到这个错误消息在客户端控制台: 跟踪器afterFlush函数的exception:未定义 和 TypeError:无法读取Blaze.TemplateInstance中未定义的属性“用户名”。 ( http:// localhost:3000 / app / client / templates / common / navigation.js?hash = 142e989d312ba94a4b875a71e5e557bdd5255272:3:40 ) http:// localhost:3000 / packages / blaze.js?hash = f33d3dfed63a491d24e3aa07ad66c24b5fe8c761:3398: 22位于FireCallbacks( http:// localhost:3000 / packages / blaze.js?hash = f33d3dfed63a491d24e3aa07ad66c24b5fe8c761 )上的Function.Template._withTemplateInstanceFunc( http:// localhost:3000 / packages / blaze.js?hash = f33d3dfed63a491d24e3aa07ad66c24b5fe8c761:3744:12 ) […]

无法在router.post中获取正文,但可以使用app.post Node js / express

我的快速应用程序有问题。 我正在做的是在汉德巴尔有一个forms。 我只想根据这个教程注册一个用户: https : //www.learn2crack.com/2016/09/android-user-registration-login-node-client.html,但我有点调整到一个Web应用程序。 所以我创build了这样的forms: <div style="text-align:center"> <form method="POST" action="/registerUser" enctype="application/x-www-form-urlencoded"> Username: <input type="text" name="name" value=""/><br> Email: <input type="text" name="email" value=""/><br> Password: <input type="text" name="password" value=""/><br> Repeat password: <input type="text" name="repeat_password" value=""></input><br> <input type="submit" value="Register!"></input> </form> </div 喜欢这个。 然后,当我打电话给路由器来处理它的结果(registerUser)时,我得到的是req.body.name是未定义的(顺便说一句,我检查,req.query,req.params等,它都是未定义的只是内容不到那里到路由器,所以当我这样做的时候: router.post('/registerUser', (req, res) => { console.log("YO THERE WE GO"); console.log(req.body); ///….. rest 这是行不通的,这是不确定的。 但是,如果我在我的app.js文件夹(路线是分开的,但与其他调用,这是GET)工作,它显然适用于这个简单的代码: […]

在param前提下命名的路由

如果在url中设置:slug参数,我希望使用路由参数前提条件通过“slug”获取投资组合项目。 然而,我也想使用RegExp来匹配URI。 节点中是否支持命名的捕获? 我可以给([-\w]+)捕获一个名字,所以子弹前提条件被解雇? app.param('slug', function(req, res, next, slug){ // get thing from database by slug }) //app.get('/work/view/:slug', function(req, res){ app.get(/^\/work\/view\/([-\w]+)/, function(req, res){ // render view })

rails和node.js之间的路由

在rails中,我用paperclip + resque上传和处理图像,消耗太多内存,速度很慢。 我想尝试node.js在后台处理这些东西。 是可能的路线轨道和node.js都具有相同的端口? 一些路由处理rails,一些路由到node.js。 例如, 轨道 /users/:user_id/albums(.:format) /users/:user_id/albums/new(.:format) /users/:user_id/albums/:id/edit(.:format) 的node.js /uploads 谢谢。 解决scheme POST /上传到node.js(端口8080)来处理其他的rails。 下面是我的nginx conf location = /uploads { proxy_pass http://127.0.0.1:8080/uploads; } location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://unicorn; […]

Express&Socket.io路由parroting /复制/共享

我在nodejs中使用expressjs和socket.io。 我正在寻找分配相同的路由处理程序在HTTP或通过websockets / socket.io进行的请求。 例如: var responder = function(req, res){ req.params //<– {id: 'something…'} } app.get('/foo/:id', responder); io.on('/foo/:id', responder); socket.io似乎没有这种types的路由function。 有谁知道一个图书馆/模块来帮助这个?

在Express路线中获取文件types

我有一个Express route /doc/:id ,用于提供文档的HTML表示,我希望它在附加“ .epub ”时用于EPUB表示。 不过,Express在一段时间内不会分开,所以如果我使用/doc/:id.epub将req.params.id设置为“ id.epub ”。 有没有办法将文件扩展名识别为一个单独的参数,或者我只是需要使用正则expression式来提取它? 我已经看过res.format ,但是看起来这只有在Accepted头文件被设置的情况下才有效,就我所见,如果URL被简单地input到浏览器中,它就不会被使用。