node运行js获得输出的三种方式
一.通过console.log输出(我最喜欢的)
1.js脚本
1.js
var arguments = process.argv.splice(2); //获得入参
var a= arguments[0]; 取第一个
console.log(a) //输出
2.python脚本
test_1.py
import os
print(os.popen('node 1.js fuck').read())
#打印结果fuck
二.通过文件读写获取
1.js脚本
1.js
//npm环境别忘了装了
var arguments = process.argv.splice(2); //获得入参
var a= arguments[0]; 取第一个
var forge = require('node-forge'); //生成个读写文件的对象
fs.writeFile(文件路径, a, function (error) {}); //function (error) {}为回调函数
2.python脚本
test_1.py
import os
#运行脚本
os.system('node 1.js fuck')
with open(path1, 'r', encoding='utf8') as fr:
a = fr.read().split()[0]
print(a)
#打印结果fuck
三.node起服务
1.get请求脚本
var http = require('http');
var url = require('url');
var util = require('util');
http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain'});
// 解析 url 参数
var params = url.parse(req.url, true).query;
res.write("网站名:" + params.name); //输出内容
res.write("\n");
res.write("网站 URL:" + params.url);
res.end();
}).listen(3000);
2.post请求
var http = require('http');
var querystring = require('querystring');
var util = require('util');
http.createServer(function(req, res){
// 定义了一个post变量,用于暂存请求体的信息
var post = '';
// 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
req.on('data', function(chunk){
post += chunk;
});
// 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
req.on('end', function(){
post = querystring.parse(post);
res.end(util.inspect(post));
});
}).listen(3000);