在项目中经常会遇到有一些JS脚本,需要我们执行并将结果进行记录或者返回。这里介绍两种在项目中执行JS脚本的方法,分别是基于python和java实现:

1. python执行js脚本

python执行脚本一般使用os.open打开一个文件,然后利用系统内部的node命令进行js脚本的执行:

out = os.popen("node " + 文件路径, 'r')
//使用read方法进行结果的读取操作
print(out.read())

2. java执行js脚本

java执行js脚本一种方式和上面类似,采用Runtime读取js文件,而后使用环境中的node进行js文件的执行并返回结果。这里介绍一种通过ScriptEngine完成js脚本调用的方法:

//创建ScriptEngineManager对象
ScriptEngineManager manager = new ScriptEngineManager();
//获取ScriptEngine对象
ScriptEngine engine = manager.getEngineByName("javascript");
//执行js脚本(注意:这里的js代码需要涵盖function方法的调用)
String js = “function test(){return 'hello world'} test()”
String res = (String)engine.eval(js);

当然,基于ScriptEngine的方式还存在传参的方法,有兴趣的可以去研究研究…