记录一下python运行含有jquery对象的代码

首先还是得安装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,完美

你可能感兴趣的:(python)