官方文档:https://pypi.org/project/PyExecJS/
安装模块
pip install PyExecJS
导入模块
import execjs
没有JS环境会报错:Could not find an available JavaScript runtime.
JS运行时环境:PyV8、Node.js 或 PhantomJS。
execjs.get().name
对于使用JScript环境的用户,只要在IE浏览器下运行无报错的js代码也可直接运行,不需要另外安装运行时环境;
一般来说,Windows环境下,不需要特别关注JS运行时环境???
import execjs
# eval 和 complie 是要构建一个JS的环境
e = execjs.eval('a = new Array(1,2,3)') # 可以直接执行JS代码
print(e)
x = execjs.compile('''
function add(x,y){
return x+y;
};
''')
print(x.call('add', '1', '2')) # execjs.compile用于执行更复杂的js代码
运行结果:
[1, 2, 3]
12
js文件居然下:
function add(x,y){
return x+y;
};
Python运行JS文件中函数如下:
with open('test.js') as f:
jsdata = f.read()
ctx = execjs.compile(jsdata)
print(x.call('add', '1', '2'))