Articles of 快速

Node.js Expres.js Heroku Toolbelt>工头开始 – 错误:写入EINVAL

这是我在使用Heroku Toolbelt for Node.js运行工头时遇到的package.json错误 "dependencies": { "express": "~4.4.0", "jade": "~1.3.1" }

从nodejs执行一个batch file

是否有可能从nodejs应用程序运行batch file? Googlesearch一段时间后,我们可以使用child_process来执行命令。 尝试相同的模块,但没有成功。 有人可以指导我吗?

TypeError:任务不是asynchronousjs平行的函数

我试图上传一个图像,并使用下面的代码更新数据库集合中的图像的url。 Controller.prototype.handle = function (req, res, next) { var id = req.params.id, controller = req.params.controller, optionalController; optionalController = _.clone(controller); // handle optional controller if (controller === 'newboat') { controller = 'boat'; } else if (controller === 'newcrew') { controller = 'crew'; } var files = req.files.files || {}, monthYear = new Date(), monthYear = [monthYear.getFullYear(), […]

对象#<MongoClient>没有方法“打开”

我一直在尝试使用Node.js,Express.js和MongoDB创build一个简单的站点。 我是新来的这些技术,一直有问题设置数据库这是我的index.js文件中的代码片段: var http = require('http'), express = require('express'), path = require('path'), MongoClient = require('mongodb').MongoClient, Server = require('mongodb').Server, CollectionDriver = require('./collectionDriver').CollectionDriver; var app = express(); app.set('port', process.env.PORT || 3000); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); var mongoHost = 'localHost'; var mongoPort = 27017; var collectionDriver; var mongoClient = new MongoClient(new Server(mongoHost, mongoPort)); mongoClient.open(function(err, mongoClient) { […]

Express.js – 如何将base64string下载为PDF文件?

我有PDF文件编码为base64string。 如何以.pdf格式将此string下载到浏览器中? 我已经试过了: res.set('Content-Disposition', 'attachment; filename="filename.pdf"'); res.set('Content-Type', 'application/pdf'); res.write(fileBase64String, 'base64');

控制会话以express和连接中间件开始

有一种方法来控制会话何时开始连接的会话中间件? 例如,如果我有快速应用程序configuration: var app = express(); app.configure(function(){ app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser('secret')); app.use(express.session({ store:sessionStore, … })); }); 然后在每个请求中,如果没有给出会话cookie,则启动一个会话。 如果我只想在用户通过身份validation时才开始会话,该怎么办? 例如,说我有两个路线/protected和/login 。 如果有人点击/protected没有会话cookie,中间件将不会启动一个新的会话。 ( req.session为null ) 如果有人点击/protected会话cookie,中间件将检查 cookie是否存在匹配的活动会话并设置req.session ,但不会启动新的会话。 ( req.session可以有一个值或为null ) 如果有人用正确的参数点击/login ,则显式启动一个会话,然后只设置一个cookie。 开始会议的唯一方法应该是明确的: app.post('/login', function(req, res, next) { // connect to database and validate user… db.authenticate( req.body.user, req.body.pass, function(allow) { if (allow) { // START SESSION […]

node.js,以同步的方式在循环中一个接一个地执行mysql查询

在我的node.js中,表示应用程序,我用superagent中间件做了一个ajax调用。 该调用通过相当多的数据库查询使用node-mysql中间件获取复杂数组中的数据库数据。 在粘贴代码之前,我试图用言语解释我正在尝试做什么,尽pipe代码足以说明在第一个callback中的所有asynchronous事件应该以同步的方式完成。 说明: 在第一个查询的callback中,执行for循环多次运行第二个查询,在每个循环之后,只有在第二个查询的callback完成后才会调用下一个循环。 下一个代码行也是一样的。 码: 但是 ,如果你愿意的话,你可以跳过 for循环的内部(标注在注释中)来使事情变得简单和简单。 conn.query("SELECT * FROM `super_cats`",function(error, results, fields) { if(error){console.log("erro while fetching products for homepage "+ error);} for(var i in results) { // FIRST FOR LOOP INSIDE THE FIRST QUERY CALLBACK /*Innards of for loop starts*/ var elem = new Object(); var supcat_id=results[i].id; elem.super_id =supcat_id; elem.cats=new Array(); […]

从express 3.x升级到express 4.x – Mongo会话存储

我正在从express 3.x迁移到express 4.x 我有问题find与新session中间件一起使用的mongo会话存储 。 先前: express 3.x已经connect作为一个依赖,这反过来与捆绑的session中间件。 为了在mongo数据库中保留会话,事实上的中间件是connect-mongo 。 新的世界秩序: 现在express 4.x , connect不再是一个依赖项。 因此,几乎所有先前捆绑的中间件已经被分解为单独的中间件,如上面列出的session 。 session需要一个store ,但由于connect-mongo依赖于connect ,是不兼容的express 4.x 题: 我无法find迁移到express 4.x时使用哪个mongo会话存储的信息。 有什么build议么?

asynchronous初始化express.js(或类似的)应用程序

考虑一个例子:我有以下express.js应用程序(请参阅下面的代码片段)。 我想有一个持久连接到数据库,并且一个持久连接到我自己的服务(这需要asynchronous调用来启动)在整个应用程序生命周期。 还有几个入口点,即不仅可以通过HTTP协议访问我的应用程序。 当然,我想避免服务初始化代码重复,并可能有几个如同步初始化服务。 /* app.js */ var app = require('express')(); // set views, use routes, etc. var db = require('monk/mongoose/etc')(…); // happily, usually it's a sync operation var myService = require('./myService'); // however, it's possible to have several such services myService.init(function(err, result) { // only here an initialization process is finished! }); module.exports.app = […]

Node.js,Express,MongoDB和stream

我正在寻找通过Node.js服务器层将数据从MongoDBstream式传输到Web客户端的最佳方式。 我正在请求每个查询大约10MB的数据,并且查询已经在day_timestamp上编制索引。 请注意, 我已经阅读了这篇文章。 我正在使用的唯一的Mongo相关模块如下(我需要别人来实现我的目标?): MongoClient = require('mongodb').MongoClient; 目前我的代码看起来像这样: MongoClient.connect('mongodb://host:port/myDatabase', function(err, db) { if(err) throw err; console.log("Connected to Database"); // Server picks up URL requests made by browser app.get("/:type/:category/:resolution/:from/:to/", function (req, res){ var start = moment(); var type = String(req.params.type) ,category = String(req.params.category) ,resolution = String(req.params.resolution) ,from = moment.utc(req.params.from).toDate() ,to = moment.utc(req.params.to).toDate() ,options = { […]