Articles of express

我如何正确构build我的NodeJS,Express和MongoDB代码?

我是新来的三个,但我确实知道JavaScript。 我理解他们所有的基本知识,但不明白什么是最好的方式来实现NodeJS服务器与expressionMVC和MongoDB数据库查询的JavaScript。 我想分解所有这些到他们自己的文件显然,但我不知道如何一切适合到由Express创build的预先创build的项目模板。 有没有人有一个很好的解决scheme或资源与我分享? 谢谢

部署到heroku的node express app中的“格式不正确的HTTP响应”

以下代码在本地部署,接收请求并将其转发到其他服务器以validation许可证时可以工作: var express = require("express"); var app = express(); var request = require("request"); var ddKey = "someKey"; var ddSecret = "someSecret"; var ProId = "someId"; var testLicense = "someLicense"; app.get("/", function(req, res){ var license = req.query["license"] || "test"; var url = "https://"+ddKey+":"+ddSecret+"@licenseServer.com/products/"+ProId+"/licenses/check_valid?key="+license; request.get(url, {"auth": {"user": ddKey, "pass": ddSecret}, "json": true}, function(error, response, body){ res.send("BODY:", response.body); […]

在express节点上使用本地驱动程序连接到heroku上的mongodb

在我的本地机器上,我通过这种方式连接到mongoDb“tasksdb”数据库: var server = new Server('localhost', 27017, {auto_reconnect: true, }); db = new Db('tasksdb', server); db.open(function(err, db) { if(!err) { console.log("Connected to 'tasksdb' database"); db.collection('tasks', {safe:true}, function(err, collection) { if (err) { console.log("The 'tasks' collection doesn't exist. Creating it with sample data…"); populateDB(); } }); } }); 如何强制它在heroku上工作? 我试过了: var server = new Server(process.env.MONGOLAB_URI, process.env.PORT, […]

第一个通过Heroku进行Node应用部署的麻烦

遵循12dev的圣诞教程来创build我的第一个Node.js应用程序( http://12devsofxmas.co.uk/post/2012-12-28-day-3-realtime-collaborative-drawing-with-nodejs ) m现在试图按照Rob Dodson的教程通过Heroku部署它( http://robdodson.me/blog/2012/06/04/deploying-your-first-node-dot-js-and-socket-dot-io- app-to-heroku / ) 但是,在提交给github之后,当我尝试推送到Heroku时,出现以下错误输出: —–> Installing dependencies with npm npm WARN package.json Draw@0.0.1 No README.md file found! npm http GET https://registry.npmjs.org/express npm http 200 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/express/-/express-2.5.11.tgz npm http 200 https://registry.npmjs.org/express/-/express-2.5.11.tgz npm ERR! Refusing to delete: /tmp/build_1t6d7hbd2psal/node_modules/.bin/express not in /tmp/build_1t6d7hbd2psal/node_modules/express File exists: /tmp/build_1t6d7hbd2psal/node_modules/.bin/express Move it away, and […]

在没有视图的REST API的MVC框架中的控制器

我明白,MVC框架中的Controller作为模型和视图之间的接口。 如果我的后端是一个API(没有任何视图),控制器不需要? 如果是的话,我应该把我的CRUD操作放在模型中吗?

从Node / Express发送确认提醒到浏览器,无需重新载入页面

我有一个工作用户身份validation系统的Web应用程序。 当用户更新他们的数据(例如电子邮件地址或密码)时,它会向服务器发送POST请求,从而更新数据库。 我想在成功或错误的时候在现有页面上有一个引导样式块警报。 我可以通过(1)来自服务器的res.send响应和(2) res.send数据的jQuery脚本以及将阻止警告HTML代码插入浏览器的方式来实现这一点吗? app.post块(通过post请求接收更新后的用户数据)如下所示: app.post('/updateuser', function(req, res) { console.log(req.body); [code here to update database] res.send('[code to send to jQuery here]'); 呈现阻止警报的HTML是: <div class="alert alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>Success!</strong>User data has been updated. </div> 如果这是可能的,(a)服务器端res.send或类似和(b)客户端jQuery代码是什么样的? 提前致谢!

在生产机器上部署和运行节点服务器的最佳方法?

我正在使用Webrtc,nodejs,Expressjs作为创buildaudio,video和聊天应用程序的框架。 我已经使用了Forever,以便脚本可以持续运行。 正如我的应用程序处理audio,video和聊天。 用户存在扮演着重要的angular色。 我们需要始终启动和运行系统,避免系统崩溃并重新启动。 如果发生这种情况,我们将放弃有关在线用户的所有信息。 需要build议什么是避免这种情况的最佳方法。 此外,在将新function移至生产服务器的同时,应该考虑哪些步骤,以便应用程序不会停止,从此我们不会丢失用户信息。 如果服务器出现故障或者我们不得不把它closures的话。 有什么不同的技术可以使用,以便我们不会丢失系统中在线用户的状态信息,并将其恢复(如有必要)。

nodejs在1次调用S3 / SQS后停止响应

我正在使用aws-sdk模块在nodejs / expressjs中执行一个简单的过程: 上传文件(使用浏览器表单发布) 将其发送到AWS S3 请在AWS SQS中input消息以进一步处理。 用SQS返回对象响应客户端。 下面的代码完美的工作,但只有一次。 在一个文件的第一个文章后,节点应用程序不再响应其他post或动作(它甚至停止了我用SetInterval(method,10000)运行的任何进程)当我尝试发布第二个文件时,它只是挂起。我重新启动服务器,它只是一个职位工作正常我在WebStorm 5 IDE中运行nodejs-v0.10.9。客户端发送文件后路由到的代码如下 – queueXml: var fs = require('fs'); var step = require('step'); var AWS = require('aws-sdk'); AWS.config.loadFromPath('./lib/aws/config.json'); var bucketName = 'xxxxxx'; var sqsEndPoint = 'http://xxxx'; exports.queueXml = function(req,res){ var key = getGuid(); step( function readPostedFile(){ fs.readFile(req.files.postedfile.path, this); }, function sendToS3(err, data){ if(err) throw err; […]

在mongo,node,passport和heroku上validation用户。 几天后停止工作

我正在用mongo,express,angular和node创build我的第一个完整的web应用程序。 我来自一个前端的背景,我正在努力与authentication实施一点点。 我的(不完整的)应用程序工作了好几天,但是今天它突然崩溃了,然后我神奇地修复了它。 我很确定我没有改变代码中的任何东西。 该错误导致所有经过身份validation的用户看到“访客用户”帐户。 这将允许他们login,但用户会以guest用户身份从mongo回来。 你看到这个代码中缺less的东西吗? var express = require('express'), routes = require('./routes'), api = require('./routes/api'), http = require('http'), path = require('path'), mongoose = require('mongoose'), passport = require('passport'), LocalStrategy = require('passport-local').Strategy; var app = module.exports = express(); var uristring = process.env.MONGOLAB_URI || process.env.MONGOHQ_URL || 'mongodb://localhost/HelloMongoose'; mongoose.connect(uristring, function (err, res) { if (err) { console.log […]

当在node.js中保存大文档时,MongoDB-mongoose使用高cpu

我正在开发一个EC2托pipe的像素跟踪应用程序,每次请求video广告时都会调用这个应用程序,因此它会跟踪何时启动,完成以及是否进行了点击操作。 我正在使用node.js,因为我想尽可能快地响应mongoDB / Mongoose,因为它就像服务器日志结构一样。 几乎每毫秒都会收到请求。 但是将文件存储到集合中时,占用大量的CPU几乎100%,并且在最后node.js启动错误: GET /pixel/impression/ad1 200 1ms FATAL ERROR: CALL_AND_RETRY_2 Allocation failed – process out of memory 我认为这是mongoose的操作,当我移除部件的时候,它就占用了大部分的CPU,它不会挂起。 在app.js上我有: var hostSchema = new mongoose.Schema({ ip: String, date: { type: Date, default: Date.now } }); var orderSchema = new mongoose.Schema({ name: String, metricCount: { impression: { type: Number, default: 0 }, clicks: { […]