Tag: expression

Node.js,表示可变权重

我想知道在express中声明variables的最好方法。 只是我的应用程序的variables var app = express(); app.fs = require('fs'); app.WebSocketServer = require('ws').Server app.wss = new app.WebSocketServer({ port: 8080 }) app.mongoose = require('mongoose'); app.async = require('async'); 或者每次我需要一个新的variables时都要初始化 var app = express(); var fs = require('fs'); var WebSocketServer = require('ws').Server var wss = new WebSocketServer({ port: 8080 }) var mongoose = require('mongoose'); var async = require('async'); 我认为第一种方法是更好的服务器,但我害怕重写快速方法。 […]

本地正则expression式匹配variables未更新

我正在循环一个对象的数组,并映射到我自己的自定义对象。 我正在通过正则expression式提取数据。 我第一次运行循环工作正常,但在后续的迭代中,尽pipe匹配,匹配variables不会被设置。 这是正则expression式之一: var gameRegex = /(\^?)([Az]+)\s?(\d+)?\s+(at\s)?(\^?)([Az]+)\s?(\d+)?\s\((.*)\)/g; 这是我的循环的最初部分: for(var i = 1; i <= data.count; i++) { var gameMatch = gameRegex.exec(data["left" + i]); var idMatch = idRegex.exec(data["url" + i]); 第一次通过,gameMatch和idMatch有价值。 即使我已经testing了他们的工作,下面的迭代也不起作用。 有没有关于正则expression式的东西,特别是在Node.js中,如果我多次使用它们,我需要做些什么?

Node.js限制stream

我正在尝试创build一个Node.js HTTP文件stream媒体服务器。 我想要做到以下几点: 发件人–HTTP POST–> HTTP –HTTP POST–> Node.js HTTP服务器<–HTTP GET–收件人 我已经使用下面的代码: var app = express(); // … app.post('/upload', function (req, res) { // Get the `req` and `res` arguments of the HTTP GET request var downloadRequest = getDownloadClientRequest(); // parse a file upload var form = new formidable.IncomingForm(); form.onPart = function (part) { if […]

为什么下面的JavaScript正则expression式不能工作?

s='<img src="http://25.media.tumblr.com/xxxxx/tumblr_xxx_1280.jpg">' p=/(?=<img src=")http:\/\/\d*\.media\.tumblr\.com\/\w*\/?tumblr_\w*_\d{3,4}\.\w{3,3}(?=")/g s.match(p) # return null 但是,以下工作: p=/(<img src=")http:\/\/\d*\.media\.tumblr\.com\/\w*\/?tumblr_\w*_\d{3,4}\.\w{3,3}(?=")/g

将function传递给下一个function,根据条件进行激活。 的NodeJS

我使用express.js来创build一个node.js REST服务器,作为一个部分,我也创build了一个简单的会话系统。 我有3个模块: app.js highscoreMan.js userSession.js http://localhost/api/highscores的app.jsurl现在使用给定的参数调用userSession: //Get all highscores app.get('/api/highscores', function (req, res) { userSession.checkValidity(req.query['username'], req.query['sessionid'], highscoreMan.getAll(req, res)); }); 但是,在checkValidity中,我通过的函数被自动调用: function checkValidity(username, sessionId, callback) { userSession.findOne({ userid: username, sessionid: sessionId }, function (err, result) { if (err) { console.log(err); } if(result) { callback; } }); } 我只想运行正在传递的函数,因为我从数据库中获得了正确的结果(其他检查将稍后添加会话date等)。 我将如何做到这一点?

Node.js客户端会话不创buildreq.session

我遇到了node-client-sessions问题,所以我尝试使用https://github.com/fmarier/node-client-sessions-sample中的示例应用程序。 然而,即使这个基本的应用程序,我得到TypeError: Cannot read property 'username' of undefined – req.session是未定义的。 以下是完整的代码: #!/usr/bin/env node const app = require('express')(), clientSessions = require("client-sessions"); app.use(clientSessions({ secret: '0GBlJZ9EKBt2Zbi2flRPvztczCewBxXK' // CHANGE THIS! })); app.get('/', function (req, res){ if (req.session.username) { res.send('Welcome ' + req.session.username + '! (<a href="/logout">logout</a>)'); } else { res.send('You need to <a href="/login">login</a>.'); } }); app.get('/login', function (req, […]

Node.js中的HTTP POST不起作用

从nodejs我试图发布数据到另一个URL 127.0.0.1:3002(在文件poster.js),但是当我尝试访问它在服务器上的127.0.0.1:3002然后发布的数据不会来: 我的poster.js看起来像这样: var http = require('http'); function post() { var options = { host : '127.0.0.1', port : 3002, path : '/note/', method : 'POST' }; var req = http.request(options, function(res) { res.setEncoding('utf8'); res.on('data', function(chunk) { console.log('BODY: ' + chunk); }); }); req.on('error', function(e) { console.log('problem with request: ' + e.message); }); req.write("<some>xml</some>"); req.end(); […]

页面呈现数据后res.redirect不工作

我有一个简单的忘记密码的function,当用户请求更改密码时,他会收到带有令牌的电子邮件,并点击它的电子邮件,他将被redirect到一个将使用新密码的页面。 我所做的是当我点击电子邮件中的一个链接时,服务器获取请求,一个函数将数据从链接中提取出来(使用res.render),然后redirect到渲染的页面。 我面临的问题是当我点击链接时,我正在获取数据和页面呈现,但我不能让res.redirect()工作。 我的链接看起来像这样 http://localhost:3000/api/resetpassword?_csrf=ab8aa6a41567f817330e3e0a214725f8b2f88b487d5bef16f162e033c6a63dc41933511ddb79cb44ca049f472b3e0c593dbbaf&email=dummyEmail%2540dumyurl.ca 然后我使用app.get()获取服务器上的请求。 app.get('/api/resetpassword', Admin.resetPasswordPage); 我的渲染和redirectfunction看起来像这样; resetPasswordPage: function (req, res, next) { req.query.email = decodeURIComponent(req.query.email) ; res.render('resetPassword', { Email: req.query.email, Csrf : req.query._csrf, }, function (err, html) { console.log("TESTING HTML ", html); if (!err) res.redirect("/resetPassword"); }); } 由于我在HTML参数中获取了完整的HTML页面,所以渲染成功,但问题是如何redirect到该页面。 该页面是在EJS和它的视图文件夹。

我怎样才能在NodeJS中线程化image processing?

我在NodeJS上编写image processingWeb服务,在基本上我需要弄清楚如何使实际的image processing线程化。 当我通过Apache AB进行testing时,NodeJS只使用了一个内核,并且在这里做错了。 我如何重新devise这个简单的应用程序,以利用我的服务器CPU上的多个核心。 我放大了所有的input过滤,并简化了image processingfunction,让您了解应用程序结构,而不是长码位。 在app.js中 app.get('/generate/:q', function(req, res){ var textString = req.params.q; res.setHeader("Content-Type", "image/png"); res.end(generator.s()); }); 在generate.js中 var Canvas = require('canvas') , Font = Canvas.Font , fs = require('fs') , path = require("path") , plate = new Canvas.Image; //To keep plate in RAM between requests. fs.readFile(__dirname + '/plates/dhw132.png', function(err, squid){ if […]

Node js async.series无法使用Express应用程序 – 响应发生得太快

我有一个Node js Express应用程序,我从许多不同的地方(服务器,Twitter,另一个数据库等)设置cookie。 这些都需要串联。 为了避免callback噩梦,我试图使用Async.js。 但是,在async.series调用完成之前,响应会一直发送。 我怎样才能确保async.series完成,然后调用res.redirect? 使用asynchronous调用模块 // OTHER CODE accountCookies(req, res, next); // THE MODULE WITH ASYNC res.redirect(302, 'https://' + req.host + '/account'); asynchronous模块 module.exports = function (req, res, next) { req.appVariables.error = null; // Required modules var async = require(__dirname + '/utilities—–async.js'); // Utility for controlling node's asynchronous behavior var userSessionObject = […]