简单js代码
调用简单js代码直接使用 execjs
安装
pip install PyExecJS # 需要注意, 包的名称:PyExecJS
使用
def get_sign1():
js_content = open("demo.js","r",encoding="utf-8").read()
context = execjs.compile(js_content)
# params 为调用参数,add 为调用函数
result = context.call("add","params")
复杂js
复杂js代码使用execjs有时候会报错,这个时候需要使用node直接调用js代码
import subprocess
p = subprocess.Popen(["node", "./js/demo.js", data], stdout=subprocess.PIPE)
result = p.stdout.read()
这个时候js代码中需要接受的参数应该改为下面这样
var data = process.argv[2]
data = JSON.parse(data)
result = get_sign(data["public"], data["params"])
console.log(result)