当前位置:首页 >> 网络编程

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);

总结