Tag: 路由

在expresspath中使用socket.io

我想在我的一个路线上实现套接字。 我有一个文件命名 index.js var express=require("express"); var app=express(); var http=require("http").Server(app); var io=require("socket.io")(http); // one of my route 'polling' var polling=require('./polling_server.js'); app.use('/',polling); // lots of code here http.listen(3000); 现在我有另一个名为polling_server.js的文件,我想在其中实现套接字。 module.exports=(function(){ var router = require('express').Router(); router.get("/polling",function() { console.log("Hello from polling"); }); // I want to access io object in this file io.on("connection",function(socket){ }); }) (); 在上面的路线polling_server.js我想访问io对象。 当我运行这个代码,它显示了我 io […]

Node.js从一个模块传递variables/对象并返回

我正在使用一个node.js框架,最初编写get数据库密码/哈希和比较forms密码/哈希在一个路由文件。 现在我想传递一个userName到一个单独的模块。 该模块应该接受一个userName并从数据库中返回相应的密码/散列。 在将函数分解成自己的模块之前,我们返回哈希值并将其传递给下一个函数( passHash ),代码工作得很好。 现在,我已经从数据库调用分离function,我不知道如何返回哈希回到原来的function。 将函数分解为两个单独的文件,我可以成功地将userName传递给数据库模块(它将控制台loggingusername / hash ),但是我无法将用户的密码/散列返回到原始路由中的原始函数。 我已经阅读了很多关于如何使用require将“OR”返回variables/对象从一个模块传递给另一个的post,但是关于如何传递一个variables“AND”没有任何回应post函数的数据。 以下是创build这些文件时所咨询的一些资源 1.) 接受的答案很容易遵循(这是我使用的模型) 2.) 高级 3.) 例子大多数答案显示单向返回函数 4.) 似乎有答案 此外,我已经尝试在几个安排中返回密码/哈希值; 创build一个对象并返回属性。 返回对象,并将该对象分配给一个variables,并提取类似于链接4上面的属性。 以下是: 1.)模块化数据库function( databaseLoginUser.js ) 2.)调用Modularized函数的原始path( databaseLogin.js ) 3.)控制台输出(没有错误只是挂起等待下一个function) //databaseLoginUser.js var express = require('express'); var router = express.Router(); var mysql = require('mysql'); module.exports.getModuleFunction = function(userName, callback) { queryUser(userName); function queryUser(userName) { console.log('In […]

将js:将多个路由文件转换为单个文件

在我的express.js应用程序中,我正在按照以下方式组织我的路线 routes / comment.js(处理所有评论路由) var express = require('express'); var router = express.Router(); var comment = require('../controller/comment'); router.route('/new').get(comment.create); module.exports = router; routes / post.js(处理所有的邮政路线) var express = require('express'); var router = express.Router(); var post = require('../controller/post'); router.route('/new').get(post.create); module.exports = router; 我包含在这样的app.js文件中 //need to include these declarations into another file and include that file here //eg: require('config/main-routes'); […]

如何使用Passport.js获取当前会话的用户名?

如何在路由users.js使用Passport的{user}参数,我可以通过routes.js访问这些routes.js ? 这种情况是我需要在多个新的路由文件中访问Passport参数,所以我不需要使用routes.js作为包含所有应用程序路由的唯一文件。 app.js – 我只隔离感兴趣的部分 const express = require('express') const session = require('express-session') const cookieParser = require('cookie-parser') const bodyParser = require('body-parser') const passport = require('passport') const flash = require('connect-flash') const app = express() app.use(session({ secret: 'stackoverflow', resave: true, saveUninitialized: true, })) app.use(passport.initialize()) app.use(passport.session()) app.use(flash()) const index = require('./routes/index') const users = require('./routes/users') require('./config/passport')(passport) // […]

在Express 2.x中访问Redis insdie路由处理程序

我已经使用CLI创build了一个Express 2.x应用程序。 所以我有一个路由目录和一个index.js。 现在,在app.js中,我已连接到Redis,并且正常工作。 我从app.js的routes / index.js文件中调用函数: app.post('/signup', routes.myroute); myroute函数包含从Redis获取密钥的代码。 现在,我得到了redis没有定义的错误。 如何将redis对象从app.js传递到routes / index.js?

ExpressJS App.use路由序列

我在app.js有以下内容: app.use(express.static(path.join(__dirname, 'public'))); app.use(function(req, res, next) { console.log('app.use'); … next(); }); app.use(app.router); 公用文件夹有子文件夹images , css和js 。 在app.use(app.router); ,我有从Amazon S3返回图像的路由定义。 app.get('/images/:type/:id', image); 问题是,当一个页面包含图像, app.use被调用两次。 如何预防呢? 我想忽略/images/*调用app.use(function(req, res, next) {});

如何从服务器返回一个HTML模式目标视图?

我想在网站上有一个button,用bootstrap打开一个模式视图。 像这样: <button class="btn btn-primary btn-lg" id="modalButton" data-toggle="modal" data-target="#myModal"> Launch demo modal </button> 所以这个button是针对一个叫#myModal的视图。 我不想从客户端html加载#myModal视图, 而是想向服务器发出一个AJAX请求来获取#myModal视图,因为视图将根据用户是否是admin而不同,并且该variables驻留在服务器上。 所以请求会是这样的: $('#modalButton').click() -> var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET","/modalFeedback",true); xmlhttp.send(); 然后,/ modalfeedback路由应该检查用户是否是admin,并发回相应的#myModal视图。 我很困惑如何实现这一点, 更具体地说,如何从服务器返回#myModal视图,以便它正常打开。 如果有人能帮我一些伪代码,这将是非常有益的! UPDATE 我得到它与引导远程选项工作(见下面的答案),这里是我如何调用模态: a#uservoice_tab(data-toggle="modal", href="/modalFeedback.html", data-target="#myModal") img(src='/img/icon-idea.png') // You need to have #myModal element in the same place you have the button. Bootstrap injects the […]

在expressjs中parsingurl参数 – angularjs应用程序

在expressjs和AngularJs项目中遇到了路由问题。 这不是一个单一的页面应用程序,我不使用任何视图引擎,如玉。 我们只是使用纯HTML。 我正在使用密码重置function,用户可以通过单击电子邮件提供的链接重置密码。 所以我认为在Angular中不会有任何路线变化事件(如果我错了,请纠正我)。 我的明确configuration如下。 routes = require('./routes/index'); app.configure(function () { app.use(express.static(__dirname + '/app')); app.use('/css', express.static(__dirname + '/app/css')); app.set('views', __dirname + '/app'); app.set("view options", { layout: false }); app.engine('.html', require('ejs').__express); app.set('view engine', 'html'); app.use(express.favicon()); //app.use(require('connect').bodyParser()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); }); // Routes app.get('/', routes.index); app.get('/resetpassword.html/:resetcode', function (req, res) { console.log("reset code: " + req.params.resetcode); res.render('resetpassword.html/' […]

NodeJS – 具有路由改变的反向代理

我正在使用NodeJS / Express作为在端口80上运行在我的VPS上的简单域路由器。我的routes.coffee看起来像这样: request = require("request") module.exports = (app) -> #404, 503, error app.get "/404", (req, res, next) -> res.send "404. Sowway. :(" app.get "/error", (req, res, next) -> res.send "STOP SENDING ERRORS! It ain't cool, yo." #Domain Redirects app.all '/*', (req, res, next) -> hostname = req.headers.host.split(":")[0] #Website1.com if hostname == 'website1.com' res.status 301 […]

如何使用nodejs elasticsearch客户端指定路由?

似乎没有办法在索引操作中指定路由值。 我试图使用这里提到的“无证参数”: https : //www.npmjs.org/package/elasticsearch 例如client.search({index:'abc',type:'efg',路由:'123'…} 我会得到'路由'错误,因为在映射中需要路由。 这是一个错误,缺lessfunction,或者我没有设置正确的参数? 请帮忙