空闲时间后closures监听器

我有一个简单的自动启动的nodejs服务器。 它使用express来托pipe端点,它是以一个简单的app.listen(port); 命令。 由于我有一个自动启动,所以我想在空闲时间后closures服务器,比如说3分钟。 我已经手动编码它只是使用下面的函数,这是每个app.post上app.post : //Idle timer var timer; function resetIdleTimer() { if (timer != null) clearTimeout(timer); timer = setTimeout(function () { logger.info('idle shutdown'); process.exit(); }, 3 * 60 * 1000); } 这似乎有点粗糙,所以我想知道是否有一个整洁的方式(在某种forms的计时器express也许)。 在快速文档看,我没有看到一个简单的方法来configuration这个。 有没有更好的方法来实现这种闲置关机?

节点js的buffer.toString()编码问题

即时通讯parsing使用Windows-1250字符集的网站,在过去的3天,我不能让我的网页显示在相同的编码数据。 我的猜测是,这个问题是在从缓冲区或缓冲区获取数据的地方。 我尝试安装IConv模块,但有一个全新的问题,所以我想知道是否有一种方法来解决这个问题,而不使用iconv。 基本上,即时从网站获得“ANDRIJAŠEVCI”,并在下面的代码后,我得到“ANDRIJA?EVCI” var options2 = { host: 'vred.hzinfra.hr', path: '/hzinfo/default.asp?Category=hzinfo&Service=vred3', headers: {"Accept-Charset": "Windows-1250,utf-8;ISO-8859-3,utf-8;ISO-8859-2,utf-8", "Content-Type": "text/html; charset=ISO-8859-2" } } var request2 = http.request(options2, function (res){ var data = new Buffer(0,'utf-8'); res.on('data', function (chunk) { data = Buffer.concat([data,chunk]); }); res.on('end', function () { console.log(data.toString('utf-8')); }); }); request2.end();

将date转换为nodejs中的ISOString时,时间会发生变化

我有我的数据库中有这样的格式的datestring: Tue Nov 12 2013 18:14:46 GMT+0100 (CET) 我想把它转换成一个ISOString和IM目前正在做: var iso = new Date(val.text_date).toISOString(); 但是由于某种原因,输出时间会向后移动1个小时? 这是我得到的输出: 2013-11-12T17:14:46.000Z 我怎样才能避免这一点?

Rack Pow无法启动ENOENT

当试图打开任何* .dev项目exception引发: Error: connect ENOENT Error: connect ENOENT at errnoException (net.js:901:11) at Object.afterConnect [as oncomplete] (net.js:892:19) 电力logging: [Thu Nov 14 2013 12:18:30 GMT+0400 (MSK)] DEBUG nack worker 6521 spawned [Thu Nov 14 2013 12:18:33 GMT+0400 (MSK)] WARNING Cannot read termcap database; [Thu Nov 14 2013 12:18:33 GMT+0400 (MSK)] WARNING using dumb terminal settings. [Thu Nov […]

MeteorJS集合没有定义

superpack是一个使用_wrapAsync变形的npm包。 为什么插入到集合UserSession会导致错误,指出集合未定义? 服务器/助理/ b.js // Init var SUPERPACK = Meteor.require('superpack'); var superpack = SUPERPACK(a,b); // Get Info superpack.getInfoSync = Meteor._wrapAsync(superpack.getInfo.bind(superpack)); var data = superpack.getInfoSync(); UserSession.insert({ 'account': data }); collections/ UserSession.js UserSession = new Meteor.Collection('user_sessions'); 错误(服务器端): ReferenceError: UserSession is not defined 使用仪表v0.6.6.3。

将对象转换为Meteor.JS把手中的数组后,无法拆分string

手把助手arrarify用于将对象的对象转换为对象的数组 handlebarsHelper.js Handlebars.registerHelper('arrayify',function(obj){ result = []; for (var key in obj) result.push({name:key,value:obj[key]}); return result; }); 客户端/视图/ main.html中 <template name="orderList"> {{#each arrayify orderList}} {{value.amount}} {{ value.name }} {{/each}} </template> 客户端/视图/ main.js Template.orderList.orderList = function() { // Retrieved from Collection orderList = { 12345: {name: "apples_mackintosh", amount: 10}, 12346: {name: "oranges_sunkiss", amount:5} }; return orderList; }; 问题:如何将模板值oranges_sunkiss呈现为“ […]

从serialport node.js创build新对象时出错

我已经检查过这样的问题。 但我没有find任何。 如果你发现它。 只是让我知道。 我刚开始通过node.js和serialport写javascript。 请有人解释我为什么会出现这个错误? /Applications/MAMP/htdocs/homeautomation/server.js:42 var sp = new serialPort(portName, { ^ TypeError: undefined is not a function at Object.<anonymous> (/Applications/MAMP/htdocs/homeautomation/server.js:42:10) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:901:3 这是我的起始代码 /* * dependencies */ var express = require('express'), server = require('http').createServer(app), […]

asynchronous函数在节点js中处理

我在印刷这两个报表时遇到了一个问题,我有两个function var mongoose = require( 'mongoose' ); var_show_test = mongoose.model( 'test' ); exports.showTest = function(req,res) { var jsonString = []; var_show_test.find(function (err, testa) { console.log("In find"); }); console.log("In function"); } 但它是按顺序打印报表 In function In find 我想要的是按顺序打印报表,例如 In find In function 我知道这是由于asynchronous调用,我有点困惑callback函数。 如何处理这个以便按顺序打印报表。

为什么此代码会导致使用幻影模块的Node.js挂起

如果我改变这个: var phantom = require('phantom'); phantom.create(function(ph) { return ph.createPage(function(page) { return page.open("http://www.google.com", function(status) { console.log("opened google? ", status); return page.evaluate((function() { return document.title; }), function(result) { console.log('Page title is ' + result); return ph.exit(); }); }); }); }); 对此: var phantom = require('phantom'); phantom.create(function(ph) { return ph.createPage(function(page) { return page.open("http://www.google.com", function(status) { console.log("opened google? ", […]

在ToDo列表应用程序中设置更新

我正在使用AngularJS,Node,Express和MongoDB创build一个CRUD todo应用程序。 除了更新部分,我已经弄清了所有部分。 我真的不知道如何实现,或者代码可能看起来像什么。 特别是AngularJS的东西(快速路由不是那么糟糕)。 我想如果我可以通过ID更新。 希望得到一些意见。 function mainController($scope, $http) { $scope.formData = {}; // when landing on the page, get all todos and show them $http.get('/api/todos') .success(function(data) { $scope.todos = data; }) .error(function(data) { console.log('Error: ' + data); }); // when submitting the add form, send the text to the node API $scope.createTodo = […]