全局variablesexpress node.js

我想获得variables,我可以在我的代码中find一个解决scheme,但这不是很干净 //environment.js module.exports.appName = "appName"; 和我的app.js var express = require('express') , routes = require('./routes/main') , user = require('./routes/user') , http = require('http') , path = require('path'); var app = express(); environment = require('./environment'); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser('your secret here')); app.use(express.session()); app.use(app.router); app.use(require('stylus').middleware(__dirname […]

node.js – 确定每行asynchronous函数由于没有行而未被调用

我试图编写代码,如果SQLite查询不会返回结果将被执行。 但是,Node.js的asynchronous特性使得这很困难。 我不知道是否可以在callback函数中编写代码,因为当我testinginput时会导致空的结果,没有任何反应。 我正在做 db.each("SELECT pid, collection , photo FROM photos WHERE collection = '"+collection_id+"' AND pid = '"+photo_id+"' ", function(err, row) { console.log("PHOTO FOUND"); //code inside the callback function }); //code I want 具体来说,我想呈现一般的东西,万一用户请求不在分贝的东西,我该怎么办?

父进程如何发送套接字/服务器对象到Node.js中的subprocess?

考虑: // Parent var child = require('child_process').fork('child.js'); // Open up the server object and send the handle. var server = require('net').createServer(); server.on('connection', function (socket) { socket.end('handled by parent'); }); server.listen(1337, function() { child.send('server', server); }); //Child process.on('message', function(m, server) { if (m === 'server') { server.on('connection', function (socket) { socket.end('handled by child'); }); } }); […]

如何复制node.js中的文件(包括修改时间)?

我能够使用以下方法复制node.js中的文件: var readStream = fs.createReadStream(fromFilePath); readStream.pipe(fs.createWriteStream(toFilePath)); 问题是如何复制/保持修改的时间(mtime)就像在常规文件复制命令中一样。

在Node.js + Express中logging错误的任何实际稳定的方法?

所以,我现在一直在安静的看着这个。 从Node.js 0.8.15开始, Event: 'uncaughtException' http ://nodejs.org/api/process.html#process_event_uncaughtexception的Event: 'uncaughtException'说: Don't use it, use domains instead. If you do use it, restart your application after every unhandled exception! 并在http://nodejs.org/api/domain.html域说: Stability: 1 – Experimental (他们也拒绝为我工作 – 我的应用程序仍然崩溃) 所有我想要做的是不让我的Node.js + Express应用程序崩溃。 任何人都成功地将所有错误logging到文件(预期和意外的语法错误),并不让Node.js崩溃? 我听到很多理论上的答案,任何实际的代码是有效的?

node.js和浏览器之间关键字“this”的不同行为

我已经尝试下面的代码,ie,firefox和node.js var x = 10; var o = { x: 15 }; function f(){ console.log(this.x); } f(); f.call(o); 浏览器中的结果是10,15,但node.js中的结果是未定义的15。 请向我解释浏览器和node.js中“this”关键字的不同行为是什么? 我读了很多页面,但没有任何明显的答案。 提前致谢。

您将如何在NoSql数据库中对customer> order> ordertem> product进行build模?

我目前正在学习Node.JS,需要实现一个数据库。 所有的Node书籍似乎都认为MongoDB是最好的解决scheme,但似乎无法摆脱像Mongo和Couch这样的NoSQL数据库,我是MS SQL Server的家伙! 所以,我明白,你可以保持结构化的数据作为logging(JSON),但我不知道你如何build模一个典型的电子商务应用程序与以下(简化)表… customers (id, name, address) orders (id, customerID, orderDate) orderItems (id, orderID, productID) products (id, title, description, image) 所以,通常我会写这样的查询(但显然更好地优化)…. SELECT Customers.name, Products.title FROM (orders INNER JOIN customers ON orders.customerID = customers.id) INNER JOIN orderItems ON orderItems.orderID = orders.id INNER JOIN products ON orderItems.productID = products.id 如果我能看到一个如何在NoSQL数据库中工作的例子,那么我可能会开始“得到它”。 或者,我只是坚持使用MSSQL服务器或MySql,它们都与Node兼容吗?

Nodejs:如何处理对象之间的事件监听?

我目前有问题,我有一个对象,应该听另一个对象。 问题是:我应该如何处理订阅? 目前,我只知道两种可能的方式: 与注册人: var Registrator = function() { this.listener = new Listener(); }; Registrator.prototype.register = function(subsriber) { var self = this; subscriber.on('event', function(info) { self.listener.doSomething(info); }); }; 在构造函数中: var Subscriber = function() { var listener = require('./instanced-listener'); this.on('event', function(info) { listener.doSomething(info); }); }; 正如你所看到的,两种方法都不是那么简洁。 还有另外一种模式可以用来解决这个问题吗? 问候 PS: 如果这个例子看起来太抽象了,这里是来源: https://github.com/bodokaiser/documents/blob/master/lib/repository.js 检查构造函数,看看我的不快:)

Mongodb / Couchdb而不是MySQL(从PHP切换到节点)

我使用后端的PHP / MySQL / Solr和前端的Javascript / jQuery / Backbone完成了我的大部分Web开发工作。 我已经编写了一些Node应用程序,但是使用了MySQL,而不是使用Mongodb / Couchdb,这是很多Node教程/书籍使用的。 你会开始使用Mongo / Couch而不是MySQL,因为大多数开发Node的人都在使用它? MySQL似乎为我工作得很好,我不清楚切换到Mongo / Couch的优势。 现在我开始一个网站,其中“前端”应用程序服务器是PHP / MySQL,并且数字运算服务器在Node中。 我坚持使用PHP来服务“前台”的原因是因为我非常适合在我的PHP框架中开发。 select节点的原因是因为会有大量空闲/等待时间的同时任务以秒为单位。 这必须是高度可扩展的。 将存储在数据库中的东西就像通常的东西,你将存储在MySQL表中

crypto.pbkdf2是asynchronous的,我如何将其视为同步?

我在node.js中使用pbkdf2来散列密码。 我的问题是,我正在响应身份validation请求,我正在进行身份validation,如果传递的凭据是正确的。 我假设pbkdf2是asynchronous的,因为它可能需要大量的时间(取决于迭代的大小)。 然而,将剩余的authentication逻辑转移到一个单独的方法来利用callback看起来有点难看。 有没有比使用计时器或将所有连续validation逻辑放入单独函数更好的方法? 我知道大多数人会说我应该使用callback,但在我的使用情况下,这是没有道理的。 直到我将pbkdf2应用到传递的密码之后,我才能继续进行身份validation。