Tag: 包pipe理器

nodejs – pipeappjs控制台到文件

我尝试使用以下代码将appjs控制台导入到文件中: var fs = require('fs'); var logStream = fs.createWriteStream(__dirname+ '/log.txt', { flags: 'a' }); process.stdout.pipe(logStream); process.stderr.pipe(logStream); console.log("test"); 它会创build一个空文件,但仅此而已…使用node.exe时,“testing”会进入控制台,而不会进入日志文件。 该平台是win32,但我不认为这是重要的。 代码有什么问题? 结论: Stdout,stderr和一个文件写入stream都是sinktypes的端点,所以我不能将它们绑定在一起。 我需要用双工模拟stream来replacestdout和stderr,这样我就可以将这些模拟stream绑定到原始接收器和日志接收器。 我不确定console.log和console.error是否会受到用build议的超新星机制replacestream的影响,我宁愿使用一个专用的logging器,而不是使用这个解决方法。

产卵child_processes的限制是什么?

我必须通过algorithm来进行计算,我build议每个打开的套接字使用一个subprocess,我要做的就是这样: var spawn = require('child_process').spawn; var child = spawn('node', ['algorithem.js']); 我知道如何发送参数到algorithm过程以及如何接收结果。 我所关心的是,我可以拥有多less个套接字(每个套接字都会产生一个进程)? 我怎样才能解决这个与我的云托pipe服务提供商? 以便我的应用程序获得自动缩放? 什么是推荐的节点js云托pipe提供商? 最后,这是使用subprocess的好方法吗?

Angular 2.在共享主机上运行

我从AngularJS 2开始: 已经创build了NodeJS 下载的开始项目 在节点上运行 所有的作品! 但是,如何在共享主机(没有节点ant没有VPS)生产运行它? 如何通过点击index.html在浏览器中打开?

用于与独立后端集成的CMS选项?

我们的网站在很大程度上依赖于内容,所以我们有一个允许作者轻松发布的CMS是非常重要的。 另一方面,我们需要在后端执行一些操作(价格比较,运行webhook,提供web服务),这些操作应该与内容pipe理逻辑分离,我们希望它们与CMS分离,这样开发人员可以忘记关于模板等,并专注于沉重的东西。 我正在考虑有一个nodeJS后端应用程序+ PHP CMS。 CMS应该使用json通过REST API与后端进行交互,所以内容pipe理者可以轻松地上传他们的东西,重要的信息保存在后端,供我们通过API使用,开发人员和内容pipe理员都很开心。 CMS会允许这样的整合吗?

具有节点的客户端和服务器的依赖pipe理自动化

在实现具有节点的Web应用程序时,在package.json中为应用程序声明依赖关系,并将其写入node_modules中。 现在,在服务器上有依赖关系,在客户端上也需要依赖关系,也可能在服务器上。 什么是最佳做法? 简单地实现一个任务来复制(和连接)文件到持有客户端库的目录?

v8 / node.js中的内部数组表示

我为node.js写了一个小内存基准: http : //pastebin.com/KfZ4Ucn4 它使用process.memoryUsage().heapUsed来测量内存使用情况process.memoryUsage().heapUsed for 3 cases: 具有10个属性的对象数组,每个元素的属性名称不同 具有10个属性的对象数组,具有相同的属性名称 具有10个属性,相同属性名称的对象数组,表示为数组对象 情况1的开销为1300字节,情况2为300字节,情况3为150字节。同样只有情况1的垃圾收集,而在后一种情况下,内存使用量不下降。 这些效果是否有任何解释或文档? 我试图优化对象的对象数组的内存使用情况,像 [ { foo : { bar : 1, baz : 2 } , bar : { bar : 2, baz : 7 } } , { foo : { bar : 1, baz : 2 } , bar : { bar […]

将stdoutconfiguration到node.js中另一个进程的stdin

我是node.js的新手,并试图在一行中执行两个进程,第一个进程的stdout传送到第二个stdin。 然后第二个进程的stdout应该作为对URL请求的响应传递给variablesres。 代码在这里。 其中一部分是由别人写的,所以也许我有误解: var sox = spawn("sox", soxArgs) var rubberband = spawn("rubberband", rubberbandArgs) sox.stdout.pipe(rubberband.stdin) rubberband.stdout.pipe(res) #won't send to res anything, why? #rubberband.stdin.pipe(res) won't send to res anything, either! #sox.stdout.pipe(res) will work just fine sox.stdin.write(data) sox.stdin.end() #the actual sox process will not execute until sox.stdin is filled with data..? 任何帮助,将不胜感激! 我花了几个小时看着这个!

nodejs将数据附加到readstream的末尾

我想读一个.txt文件,将数据追加到最后,最后发送给zipstream。 现在我正在做的是写一个新的文件,然后使用新的文件的zipstream,但我想在飞行,而不创build一个不必要的新文件。 我的问题是如何创build一个读取stream,修改它并发送到另一个读取stream(可能与中间的写入stream)。 这可能吗? 原来的想法是这个,但我迷失在中间的某个地方: var zipstream = require('zipstream'); var Stream = require('stream'); var zipOut = fs.createWriteStream('file.zip'); var zip = zipstream.createZip({ level : 1 }); zip.pipe(zipOut); var rs = fs.createReadStream('file.txt'); var newRs = new Stream(); // << Here should be an in/out stream?? newRs.pipe = function(dest) { dest.write(rs.read()); dest.write("New text at the end"); }; zip.addEntry(newRs, […]

使用socket.io时分配大小溢出

我正在开发一个与Node.js的Web应用程序,我使用它的socket.io。 我有问题,有时socket.io似乎没有工作。 当我查看浏览器控制台时,看到一个“分配大小溢出”错误消息,指向这段代码: var msgLength = ''; for (var i = 1; ; i++) { if (tailArray[i] == 255) break; msgLength += tailArray[i]; // this is the line which causes the error } 如果有人想看更多的代码,我会说这些是节点的socket.io模块,版本1.0.2的socket.io.js(显然,客户端文件)的行3725-3729。 看来上面的函数产生一个太长的string。 然而,我一直在调查一个string的最大长度,我发现这个问题,这清楚地表明没有string长度的限制。 经过深入调查,我发现并重现了一个导致浏览器出现“分配大小溢出”错误警告的例子。 代码如下: var a = 'a'; for (var i = 0; i < 100; i++) { a += a; […]

套接字之间的双工pipe道似乎在SMTP后面的NAT后面继续TLS,但有时只是

这是设置: [Proxy/Relay Server] <———[(SMTP TLS test client) Test server] ^ | (Internet) v ————–+—————– | [Router] | | [ Home email appliance machine | (Home email server app (Node.js)) | (Postfix) ] 所以这个小小的服务器就在家里的NAT后面。 使用外部服务器作为IMAP和SMTP的代理/中继。 家庭电子邮件设备应用程序连接到互联网上的代理/中继服务器。 家庭电子邮件设备应用程序连接到本地主机上的SMTP Postfix端口。 家庭电子邮件应用程序在两个连接之间创build一个双向pipe道。 从Internet上的testing服务器上,将支持TLS的SMTP客户端连接到代理/中继服务器。 代理/中继服务器在代理连接和来自家庭电子邮件设备的预先存在的连接之间传输数据。 SMTP客户端执行STARTTLS协议。 家庭电子邮件设备应用程序通过pipe道在代理/中继和本地主机SMTP之间传输数据,以通过TLS执行SMTP。 我们使用openssl s_client来testing到代理/中继服务器的TL连接,该服务器将数据来回发送到NAT后面的客户端。 它对于纯文本非常有效,但是我不确定它是否对TLS始终如一的工作。 偶尔我会从openssl s_client命令中得到一个完整的输出,带有SSL证书等等,但通常它只是说CONNECTED并且在那里。 不知道这是在这种情况下工作。 基本上它的这个代码运行在具有Postfix的计算机上的NAT(路由器)后面(有一些安全的东西,但基本上是这样): proxyOutgoing = net.connect(proxyport, proxyhost) localSMTP = […]