Tag: 处理

Node.js产生的颜色?

我正在使用摩卡来testing我的应用程序。 目前,我正在使用Makefiles,但是我想切换到Cakefiles。 当我通过Cake运行我的testing时,来自Mocha的颜色不会显示在控制台上。 这是一个例子: task 'test', 'test project', (options) -> fetchTestFiles './test', (err,files) -> mocha = spawn 'mocha', files mocha.stdout.pipe(process.stdout, end: false) 现在,我试着这样做: task 'test', 'test project', (options) -> fetchTestFiles './test', (err,files) -> mocha = spawn 'mocha', files, customFds: [0..2] 这工作,但是Node.js文档声称customFds已被弃用。 有没有办法通过颜色而不使用customFds ?

在Node.js中读取subprocess中的二进制数据

当试图从ImageMagicksubprocess中读取Node.js中的数据时,它会被破坏。 一个简单的testing案例如下: var fs = require('fs'); var exec = require('child_process').exec; var cmd = 'convert ./test.jpg -'; exec(cmd, {encoding: 'binary', maxBuffer: 5000*1024}, function(error, stdout) { fs.writeFileSync('test2.jpg', stdout); }); 我希望这是相当于命令行convert ./test.jpg – > test2.jpg ,正确写入二进制文件。 最初,maxBuffer选项太小,导致截断的文件出现问题。 增加后,文件现在看起来比预期的稍大,仍然损坏。 标准输出的数据需要通过HTTP发送。 从ImageMagick stdout中读取这些数据的正确方法是什么?

Grunt产生的进程不捕获输出

我已经使用Grunt产生了一个进程,但没有写入输出stream(例如console.log )的东西正在控制台中显示。 我想Grunt显示过程的任何输出。 grunt.util.spawn( { cmd: 'node' , args: ['app.js'] , opts: { stdio: [ process.stdin , process.stout , process.stderr ] } })

process.env在Node应用程序中未定义

当运行我的节点应用程序的node server.js , process.env返回undefined ,所以我无法访问任何环境variables。 这也似乎发生在我尝试将应用程序部署到Duostack时 。 从命令行调用process.env似乎工作,但: $ node > process.env { MANPATH: '/opt/local/share/man:', TERM_PROGRAM: 'Apple_Terminal', … 任何想法可能会出错?

如何通过NodeJSsubprocess运行命令?

我想通过NodeJSsubprocess在Windows上运行命令: var terminal = require('child_process').spawn('cmd'); terminal.stdout.on('data', function (data) { console.log('stdout: ' + data); }); terminal.stderr.on('data', function (data) { console.log('stderr: ' + data); }); terminal.on('exit', function (code) { console.log('child process exited with code ' + code); }); setTimeout(function() { terminal.stdin.write('echo %PATH%'); }, 2000); 当它调用ti.stdin.write ,它将其写入stdin描述符,但是如何触发cmd以在此处作出反应? 如何在input命令提示符时发送“input”键信号? 目前我没有从cmd得到任何回应。