我正在尝试制作一个小节点可执行文件,它能够打开本地 shell 并向 HTTP 服务器发送和接收命令。
在逻辑上看起来很简单,但是实现这一点的最佳实践是什么?
- 使用 Node API 打开命令行
- 监听来自服务器 URL /xmlrpc-urlhere/ 的命令
- 当通过 Ajax 或 WebRTC 接收命令时?在命令行中执行
- 将命令行响应 POST 回给用户
该外壳将用于管理目的。
我想不出这样做的好方法,我检查了 npm,似乎有一些用于节点 js 的基本命令行模块,但没有任何具有此功能的模块。
npm 模块应该可以解决问题commander。request为了帮助您入门,这里有一个简单的命令行工具,它向 google 发出搜索并将原始 HTML 转储到控制台中。
例如:
./search.js puppies
#!/usr/bin/env node
var program = require('commander');
var request = require('request');
var search;
program
.version('0.0.1')
.arguments('<query>')
.action(function(query) {
search = query;
});
program.parse(process.argv);
if (typeof search === 'undefined') {
console.error('no query given!');
process.exit(1);
}
var url = 'http://google.com/search?q=' + encodeURIComponent(search);
request(url, function(err, res, body) {
if (err) {
console.error(err);
process.exit(1);
}
console.log('Search result:');
console.log(body);
process.exit(0);
});