Articles of express

Express 3.0 HTTPS

我有一个Node.js Express 3.0应用程序,它在本地监听端口3000,在线监听80端口,这很好。 现在我需要做的是引入一个SSL证书。 我已经在网上查看了很多来源,但是它们都是过时的,或者只在端口443上工作,或者什么也不是。 然而,我需要做的是听取443和80,然后把任何要求重新定向到80到443。 他们是否有任何最新的例子?

运行在Azure上的express.js中的multipart / form-data错误

所以我有一个在Windows Azure上运行的快速站点。 我目前有提交表单被标记为enctype =“multipart / form-data”的问题。 我在日志中得到的错误是:TypeError:Object#没有方法'tmpDir' 在本地运行(通过node.exe启动)时,它工作得非常好,只有在使用AzureEmulator或Azure本身失败时才有效。 现在我预计这与Azure的基础设施有关,但是我想知道是否有人设法解决这个问题?

在自定义端口上设置快速/节点SSL

有没有办法在Express上设置SSL的自定义端口? 这仅用于开发目的。 我在80/443上有一个Apache / PHP项目。 我试着按照这个教程http://www.hacksparrow.com/express-js-https.html 但老实说,我无法得到这个工作。 如果有人可以发布正确的方式来configurationExpress来做到这一点,那将是非常棒的。 这是我的服务器configuration: var hskey = fs.readFileSync('mywebsite-key.pem'); var hscert = fs.readFileSync('mywebsite-cert.pem') var options = { key: hskey, cert: hscert }; //Create server var app = express(options); // Configure server app.configure(function () { //parses request body and populates request.body app.use(express.bodyParser()); //checks request.body for HTTP method overrides app.use(express.methodOverride()); //perform route lookup […]

为什么io不确定?

我有一个快速的应用程序使用socket.io。 我不清楚客户开始需要什么,所以如果有人能告诉我怎么做,我会很感激。 另外,我不确定我的客户端代码是否正确。 这是我的客户端套接字代码: var socket = io.connect('http://localhost:3000'); var tView = new totalViewModel(); socket.on('connect', function (data) { function loggedIn(e) { e.preventDefault(); var logged = { username: document.getElementById('pEmail'), password: document.getElementById('pWord') }; socket.emit('login', JSONout(logged)); } socket.on('uploadList', function (data) { tView.setNum(JSONin(data).total); ko.applyBindings(tView); }); function logPurchase(e) { e.preventDefault(); var purchObj = { price: document.getElementById('pPrice').value, priceName: document.getElementById('pName').value, entryDate: new Date() […]

Node.js + Express只能在testing服务器上的端口3000上运行

在本地testing它的工作。 在不同的端口(3001,8080) 但是在testing服务器(Azure) 我在同一台机器上运行2个节点应用程序的实例 $ node api1/index.js (on port 3000) $ node api2/index.js (on port 3001) 和 $ node api1/index.js (on port 3001) $ node api2/index.js (on port 3000) 但是它只能在3000端口上工作 如何设置不同的端口到Express App? 现在,我已经改变了在index.js app.listen(3001),它不起作用。 提前致谢。

在node.js中使用socket.io共享协作工作的url

我正在使用node.js和socket.io来处理多用户绘图应用程序 我在node.js上使用快速Web框架 var express = require("express"), http = require("http"); var hoganex = require('hogan-express'); var app = express(), server = http.createServer(app) io = require('socket.io').listen(server); var routes = require('./routes'); var app = express({ views: path.join(__dirname, 'views') }); app.set('views', __dirname + '/views'); app.set('view engine', 'html'); app.set('layout', 'layout.html'); app.engine('html', hoganex); app.get('/test', routes.index); app.use(express.static(__dirname + '/assets')); // Listen for incoming […]

隐藏/禁用字段从req.body消失(Express JS BodyParser)

我一直无法find这个问题的答案。 当使用NodeJS,Express和Express Bodyparser(以及我的MEAN堆栈的其余部分)时,遇到隐藏和禁用字段的问题:在提交表单时,它们不会显示在req.body对象中。 如果我理解正确的话,express的bodyparser方面实际上是从另外一个项目中拿走的。 无论如何,我还没有真正弄清楚为什么这些领域被删除或如何阻止这种情况发生。 我怀疑这可能与方法重叠有关,但是启用/禁用这个对于所讨论的字段没有影响。 所以…对于我自己和未来的Google员工来说:这里发生了什么? 下面是一些代码,请求:JADE: form(action="/admin/users/edit", method="post", ng-submit='registerUser($event)', name='form', novalidate) .row(ng-show="ifweareupdating") label(for="_id") _id: input(type="hidden", id="_id", name="_id", ng-model="newUser._id") input(type="text", id="_notHiddenId', name="_notHiddenId", ng-model="newUser._id") performance: app.post("/admin/users/edit", pass.ensureAdmin, userRoutes.editUserPost); userRoutes: exports.userRoutes.editUserPost = function(req,res,next) { console.log(req.body._id) // logs undefined console.log(req.body._notHiddenId) // logs actual id }

来自AngularJS的NodeJS HTTP请求

我目前正在开发一个Web应用程序,使用AngularJS在前端和后端的NodeJS上使用express。 我有麻烦请求我的后端API,但是,希望你们能帮助我。 后端(NodeJS): app.get('/test', function(req, res) { res.json(200, {'test': 'it works!'}) }) 前端(AngularJS): myApp.controller('myController', function($scope, $http) { delete $httpProvider.defaults.headers.common["X-Requested-With"] $http.get('http://localhost:5000/test').success(function(data) { alert('Success') }).error(function(data, status) { alert('Error! ' + status + ' : ' + data) }) }) 当我刷新应用程序,我得到一个警告说: Error! 0 : Error! 0 :但是,当我通过curl或浏览器请求后端时,我会得到testing代码。 虽然前端似乎能够访问后端,因为我看到它在我的后端日志中,它已经完成了一个请求,并返回一些东西,但萤火虫说,响应是空的,我该怎么办? 非常感谢,让我知道如果你需要我的更多信息。 马蒂亚斯

Express.js代理发布请求

我审查了节点https://github.com/mikeal/request的请求模块但是不知道如何代理POST请求到远程服务器,例如 app.post('/items', function(req, res){ var options = { host: 'https://remotedomain.com', path: '/api/items/, port: 80 }; var ret = res; http.get(options, function(res){ var data = ''; res.on('data', function(chunk){ data += chunk; }); res.on('end', function(){ var obj = JSON.parse(data); ret.json({obj: obj}); console.log('end'); }); }); });

Node.js(express,mongodb)注册过程

你好,Stackoverflow社区,我是新的Node.js /快递,我需要你的帮助,因为我卡住了一些问题。 我试图做一个注册过程中,后input保存到一个mongodb。 之前我想validation,如果用户的电子邮件地址已经存在于数据库中。 如果我尝试在db.users.find()语句中定义一个var应用程序将无法正常工作。 app.post("/sign-up", function(req, res){ var validate; db.users.find({email : req.body.email}, function(err, users) { if( err || !users){ validate = true; }else{ validate = false; } }); console.log(validate); if(validate == true){ db.users.save({ title: req.body.title, firstname: req.body.firstname, surname: req.body.surname, country : req.body.country, email: req.body.email, password: bcrypt.hashSync(req.body.password, 10) }, function(err, saved) { if( err || […]