如何执行 node
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何执行 node相关的知识,希望对你有一定的参考价值。
参考技术A 1、直接运行run.bat文件下面的内容为批处理文件run.bat中的内容,批处理命令中NODE_PATH为Node.js的安装路径。使用express 生成的项目。app.js为待测试的Node.js 文件。
@set NODE_PATH=D:\nodejs\demo\npm
@echo %PATH% | find "Node.js"
@if %errorlevel% == 1 set PATH=%PATH%;%NODE_PATH%
@rem @echo %cd%
@node app.js
2、通过参数运行run.bat文件
批处理文件仅起到设置环境变量的作用,在Node.js项目的目录下运行。批处理文件命令为:
@set NODE_PATH=D:\nodejs\demo\npm
@echo %PATH% | find "Node.js"
@if %errorlevel% == 1 set PATH=%PATH%;%NODE_PATH%
@rem @echo %cd%
@node %1
例如:
D:\nodejs\demo\>node app.js
如何从 Node.js 中执行外部程序?
【中文标题】如何从 Node.js 中执行外部程序?【英文标题】:How to execute an external program from within Node.js? 【发布时间】:2011-08-12 02:49:17 【问题描述】:是否可以从 node.js 中执行外部程序?是否有相当于 Python 的 os.system()
或任何添加此功能的库?
【问题讨论】:
您想使用child_process
模块。请参阅the documentation,它提供了各种用例的几个清晰示例。
【参考方案1】:
var exec = require('child_process').exec;
exec('pwd', function callback(error, stdout, stderr)
// result
);
【讨论】:
对子进程的结果采取行动的最佳方式是什么。示例...如果进程返回退出代码 0,并且我想调用不同的方法,我似乎会遇到大量错误。 @continuousqa -- 这个答案已有 4 年历史。如果您遇到问题,请在 SO 上发布一个新问题,并在必要时参考这个问题。 这个article有很好的使用child_process
的技巧。
@JoãoPimentelFerreira - 这个问题已经 7 岁了。如果您需要帮助,我建议您开一个新的【参考方案2】:
exec 的内存限制为 512k 的缓冲区大小。在这种情况下,最好使用 spawn。 通过 spawn 可以在运行时访问已执行命令的标准输出
var spawn = require('child_process').spawn;
var prc = spawn('java', ['-jar', '-Xmx512M', '-Dfile.encoding=utf8', 'script/importlistings.jar']);
//noinspection JSUnresolvedFunction
prc.stdout.setEncoding('utf8');
prc.stdout.on('data', function (data)
var str = data.toString()
var lines = str.split(/(\r?\n)/g);
console.log(lines.join(""));
);
prc.on('close', function (code)
console.log('process exit code ' + code);
);
【讨论】:
我使用了这段代码,但它无法显示生成进程的输出***.com/questions/21302350/… @PaulVerest:您的输出可能在stderr
而不是 stdout
。就我而言,虽然close
永远不会到来......
标准输入呢?是否可以向进程发送数据?【参考方案3】:
最简单的方法是:
const exec = require("child_process")
exec('yourApp').unref()
unref 是在不等待“yourApp”的情况下结束进程所必需的
这里是执行docs
【讨论】:
【参考方案4】:来自 Node.js 文档:
Node 通过 ChildProcess 类提供了一个三向的 popen(3) 工具。
见http://nodejs.org/docs/v0.4.6/api/child_processes.html
【讨论】:
以上是关于如何执行 node的主要内容,如果未能解决你的问题,请参考以下文章
如何将 node.js 模块作为 node.js 程序的子进程执行?