Tag: 表示

NodeJS Stream Drain内存不足问题

我有一个问题,试图从elasticsearch检索数据(操作系统Ubuntu,节点v4.2.6,res对象来自明确作为一个可写的stream)。 我没有故意使用elasticsearch.js驱动程序。 如果我使用ES驱动程序,结果保持不变。 这是我的代码: function getNextChunk() { console.log(process.memoryUsage()); console.log("Getting chunks…"); var options = { method : 'POST', url : myHost + '/_search/scroll', json : true, body : { scroll: '60s', scroll_id: globalScope.scrollId }}; request.post(options, function (err, resp, data) { if (err) return console.log(err); if (!data.hits.hits.length) { console.log("Done!"); return res.end(); } if (!res.write(JSON.stringify(data.hits.hits))) res.once('drain', function() { […]

节点expressiones6中文正文中间件不工作

我正在写我的快递路由器的摩卡unit testing。 然而,我发现,尽pipe我试图存储中间件,但它仍然执行中间件代码。 这里是我的路由器和testing,有谁能弄清楚? 路由器: import { aMiddleware, bMiddleware, cMiddleware } from '../middleware.js'; router.post('/url', aMiddleware, bMiddleware, cMiddleware, function(req, res) { … } 中间件: AuthMiddleware.aMiddleware = async (req, res, next) => { console.log('in real middleware'); next(); } testing: var authMiddleware = require('../../middleware/auth.js'); describe('Test', async () => { before(function (done) { _STUB_MIDDLEWARE_A = sinon.stub(authMiddleware, 'aMiddleware'); _STUB_MIDDLEWARE_A.callsArg(2); } […]

需要帮助消化使用express-handlebars node.js返回的JSON blob

我正在开始使用node.js,并正在通过一个教程来指导Accuweather API并返回一个JSON数据块。 我几乎得到了它…但显示片是什么阻止我: index.js const express = require('express') const rp = require('request-promise') const exphbs = require('express-handlebars') const path = require('path') const app = express() app.engine('.hbs', exphbs({ defaultLayout: 'main', extname: '.hbs', layoutsDir: path.join(__dirname, 'views/layouts') })) app.set('view engine', '.hbs') app.set('views', path.join(__dirname, 'views')) app.get('/:city', (req, res) => { rp({ uri: 'http://apidev.accuweather.com/locations/v1/search', qs: { q: req.params.city, apiKey: 'hoArfRosT1215' // […]

持续loginPassport.js不再有效。 isAuthenticated返回false

我有这个代码在某种程度上工作,一定是在一些粗心大意的保存中丢失了它。 我试图实现持护照login,但似乎并没有这样做,因为我在isAuthentiacted中间件false 。 这是我的主server.js设置,你可以看到订单是好的。 但是我不确定cookie设置,因为我是新手。 app.use(cookieParser('S3CRE7')); app.use(bodyParser.json()); app.use(session({ key: 'express.sid', resave: false, saveUninitialized: false, maxAge: 3000})); app.use(passport.initialize()); app.use(passport.session()); app.use('/users/', usersRouter); app.use('/transcriptions', transRouter); app.use(express.static('public')); const basicStrategy = new BasicStrategy(function(username, password, callback) { let user; User .findOne({username: username}) .exec() .then(_user => { user = _user; if (!user) { return callback(null, false, {message: 'Incorrect username'}); } return user.validatePassword(password); […]

Express和Angular在MEAN.JS中的路由

我遇到了从我的Angular模板路由和Express – > Angular调用Express路由的问题。 这段代码显示了我试图解决这个问题。 // Server.js文件,主Node.js代码 var Outlook = require('Outlook'); // Bootstrap db connection var db = mongoose.connect(config.db, function(err) { etc.. }); // Init the express application var app = require('./config/express')(db); app.listen('8443'); // Main server. // App.js – Outlook模块Express路由示例代码 var app = require('express'); var app = express(); // Configure express // Set up rendering […]

当我使用passeport.authenticate()时,标题消失

我从node.js,express.js和passport.js开始。 我尝试使用passport-jwt。 我已经成功logging并获取我的令牌,但是当我使用passport.authenticate() ,标题消失,我无法检查令牌。 当我不使用passport.authenticate()时,我清楚地得到标题。 这是关于passport-jwtauthentication的所有代码(如果我用req.header.authorization来代替req.header.authorization ,这个代码可以工作): const express = require('express') const app = express() const bodyParser = require('body-parser') const users = require("./users.js") const jwt = require("jsonwebtoken") const passport = require("passport") const http = require("http") const notes = require('./notes') const passportJWT = require("passport-jwt") const ExtractJwt = passportJWT.ExtractJwt const JwtStrategy = passportJWT.Strategy app.use(bodyParser.json()) app.all('*', function(req, res, […]

将PDFKit的文件名设置为HTTP响应

我如何设置pdfKit创buildPDF文件的文件名,通过HTTP发送(而不是本地保存)。 以下不设置文件名,decs只显示如何设置本地保存的文件名。 var doc = new PDFDocument({bufferPages: true}); doc.info.Title = 'Case ' + req.params.id + ' overview'; // Some more content here doc.pipe(res); 我试过设置标题,但似乎没有帮助。 res.setHeader('Content-disposition', 'attachment; filename=testFile.pdf');

Node.js表示websocket不会广播给所有连接的客户端

我试图创build一个节点WebSocket消息和广播使用openshift 。 以下是我的代码。 var WebSocketServer = require('ws').Server; var http = require('http'); var ipaddr = opneshift_ip; var port = openshift_port; var server = http.createServer(); var wss = new WebSocketServer({server: server, path: '/connectserv'}); wss.broadcast = function(data) { for(var i in this.clients) { console.log(this.clients[i]); this.clients[i].send(data); } }; wss.on('connection', function(ws) { console.log('a client connected'); ws.on('message', function(data) { console.log('>>> ' […]

如何使用React + Webpack应用程序存储和访问我的API密钥?

我目前正在与前端的React,Babel和Webpackbuild立一个项目。 我需要存储和访问我的API密钥,但我不知道在哪里。 我想我应该将我的API密钥存储在我的.gitignore中的.env文件中。 但是,它正在访问他们,欺骗我。 从我读过的东西看来,webpack可以访问yuor .env文件中的环境variables。 但是,如果我这样做,是不是说当我提出要求我的API密钥将通过浏览器 – 所以密钥将不受保护? 在过去,我使用了一个节点快递后端服务器,以便我的API密钥受到保护,并且与浏览器无关。 但是我不确定当我有一个webpack dev服务器时是否需要这个。 我开始build立一个expression后端服务器的节点,但是不知道如何将这个绑定到我的webpack.config或package.json中。 Webpack已经是一个节点快递服务器! 那么我有2个服务器? 有第二台服务器保护我的API密钥的唯一原因? 我真的很困惑自己,我觉得不必要的复杂的事情。 任何帮助将非常感激。

ResourceJS:创build嵌套的REST接口w / Mongoose模式+子子文档?

UPDATE 我已经把问题的范围缩小到了主要问题上: 使用ResourceJS的嵌套资源中的示例代码需要两个Mongoose模式,即PARENT和CHILD,并创build这些REST资源: /parent – (GET), (POST) /parent/:parentId – (GET), (PUT), (DELETE) /parent/:parentId/child – (GET), (POST) /parent/:parentId/child/:childId – (GET), (PUT), (DELETE) 父母和孩子是2个模型; 一个宣布另一个的父母: var Parent = mongoose.model('Parent', new mongoose.Schema({ name: { type: String, required: true } })); var Child = mongoose.model('Child', new mongoose.Schema({ name: { type: String, required: true }, parent: { type: mongoose.Schema.Types.ObjectId, ref: […]