Tag: 表示

发送函数的响应以expressjs的方式进行路由

我试图从api返回JSON数据回我的路线在一个快速服务器上。 我对nodejs如何处理这种操作有点困惑。 我有一个函数和路由在同一个文件中,路由工作,因为我得到了返回的视图,我想在控制台中的数据。 路线和方法如下所示: function getData() { request(url, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // Show the HTML for the Google homepage. return response.body; }; }); }; /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'About', data: getData() }); }); 我想从getData()的数据中获取路由的响应。 我认为这样做,但它只会打印数据到控制台,我看不到问题。

Docker与Node.js和Express.js

我试图使用我的节点应用程序泊坞窗,我的Dockerfile看起来像这样: RUN apt-get update RUN apt-get -y install build-essential RUN apt-get install -y nodejs RUN apt-get install -y npm ADD . /src RUN cd /src && npm install EXPOSE 8080 CMD ["node","/src/app.js"] 但是在运行docker build当npm install正在运行之后,试图安装https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz我得到一个错误: The command 'bin/sh -c /src && npm install' returned a non-zero code : 1 什么会导致这样的问题? 我已经尝试安装node-legacy而不是节点,它不起作用

Passport.js记得我的function

https://github.com/jaredhanson/passport-remember-me passport.use(new RememberMeStrategy( function(token, done) { Token.consume(token, function (err, user) { if (err) { return done(err); } if (!user) { return done(null, false); } return done(null, user); }); }, function(user, done) { var token = utils.generateToken(64); Token.save(token, { userId: user.id }, function(err) { if (err) { return done(err); } return done(null, token); }); } )); […]

提交表格后,请求空

我的翡翠表格是 extends layout block content h1= title form(action="create", method="post") div.input span.label Username input(type="text", name="username") div.input span.label Password input(type="password", name="password") div.actions input(type="submit", value="Create User") 和我的index.js是 var express = require('express'); var bodyParser = require('body-parser') var app = express(); app.route('/create') .get(function (req, res) { res.render('formUser', { title: 'Create User' }); }) .post(function (req, res) { console.log(req); }); 为什么我的req.body或req.params是空的? […]

Node / Express是否重新定义request.ip?

我有一个合法的业务需求来testing我们的服务器使用假IP地址的方式。 我们在一些不同的地方使用request.ip ,我不想用假IP地址replace每个“request.ip”的实例,所以我想我只是在应用程序的入口点重新定义它(开始的callback链)。 但是,当request.ip显然变回“127.0.0.1”时,我遇到了一些意想不到的行为! 这是插入到“句柄”方法中的(CoffeeScript)代码: spanishIp ='37.35.128.128' request.ip = spanishIp console.log "ip: #{request.ip} / #{spanishIp}" 导致以下日志: ip: 127.0.0.1 / 37.35.128.128 显然, request.ip被重新定义回到我的实际IP地址(127.0.0.1)之间,并将其设置为“37.35.128.128”和console.log语句。 当我将代码更进一步地移入callback链时,它按预期工作。 Node / Express是否有可能在运行时反复将request.ip设置为用户的实际IP地址的内部机制?

coffeescript传递require()参数错误

代码require ('./routes') app编译require('./routes'(app)); 但我需要它来编译require('./routes)(app) 。 我怎么能这样做?

Express.js ERR_TOO_MANY_REDIRECTS错误

这是场景。 如果用户想要查看需要用户访问的页面,我想将其redirect到主页,但是当我尝试访问主页时,出现ERR_TOO_MANY_REDIRECTS错误。 我无法弄清楚如何解决这个问题。 app.js exports.ensureAuthenticated = function (req, res, next) { jwt.verify(req.cookies.userToken, "NICETRY", function (err, decoded) { if (err) { res.redirect("http://localhost:4000"); } else { // no err if (decoded.id) { req.id = decoded.id; req.iat = decoded.iat; next(); } else { res.send("invalid cookie"); } } }); }; 路由/前端/ index.js var express = require('express'); var router = […]

如何dynamic地决定请求是否应该通过Express中间件

所有: 我对Epxress来说是个新手,我构build了一个中间件来检查用户凭证,并将其指定为: var check = function(req, res, next){/* checking user cred*/} 我使用它就像: app.use(check); 或者像: app.get("some url", check, function(req, res, next){}) 但是只有一件事让我困惑,有时候,我需要跳过同一个处理程序中的check来取决于req.query, 我不知道是否有一种方法(或devise模式)来做到这一点,而没有指定这个条件检查里面检查中间件我只是想检查模块化,专注于其商业逻辑)? 谢谢

Express在url的末尾添加了斜线

我正在使用Node.js和Express框架来开发一个网站。 我面对一个url怪异的行为不端。 当我点击相关的链接url时,url变成了“localhost:3000 / images /” – 如你所见,在最后添加一个斜杠。 但是,当我把所有'图像'更改为'img',或者URL变成“本地主机:3000 / img”没有斜杠添加。 为什么路由器的行为呢? 代码如下。 (我正在使用Jade模板引擎) //bar.jade li.nav-item a.nav-link(href='images') i.icon-camera | Images //end of bar.jade //images.js (router) var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('images', { title: 'Express'}); }); module.exports = router; //end of router .js […]

从快递中间件访问数据

我在node.js中构build一个应用程序。 我写了一个中间件函数钩子,当有人在我的应用程序上发出GET请求时就执行它,就像他们进入主页,configuration文件页面等一样。钩子从另一个API发出一个HTTP请求来收集数据。 我的问题是如何在客户端访问这些数据? 这是我的中间件钩子: var request = require('request'); module.exports = { authentication: function (req, res, next) { if (req.method === 'GET') { console.log('This is a GET request'); request("http://localhost:3000/api/employee", function(err, res, body) { console.log(res.body); }); } next(); } }; 它用在我所有的路线中: app.use(middleware.authentication) 示例路线: router.get('/', function(req, res, next) { res.render('../views/home'); }); 注意我使用了console.log(res.body) ,但我想打印在CLIENT端的内容。 有没有人有任何想法如何做到这一点?