首先还是得安装nodejs作为js代码的运行环境,npm会被附带着装上,然后用npm安装jsdom和jquery这两个依赖包,然后在需要运行的js代码的前面定义好"$"就行了。
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM('').window;
const $ = require('jQuery')(window);
测试一下
#!/usr/bin/env python
hexjs='''
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM('').window;
const $ = require('jQuery')(window);
var a=1;
function get_a(){
$.each([1,2,3], function(i){
a+=i;
});
return a
}
'''
# -*- coding:utf-8 -*-
import execjs,os
print(execjs.get().name)
os.environ["EXECJS_RUNTIME"] = "Node"
print(execjs.get().name)
ctx=execjs.compile(hexjs)
a=ctx.call('get_a')
print(a)
最后打印出来是4,完美