execjs的使用

我们execjs除了nodejs我们还需要浏览器环境,我们浏览器上还需要document以及window对象所有呢我们要安装环境

1.本地安装Node.JS

2.Node中安装jsdom模块 npm install jsdom 

3.JS文件开头添上下述固定代码

//解决TextEncoder is not defined
const textencoding = require('text-encoding');
TextEncoder = textencoding.TextEncoder;
TextDecoder = textencoding.TextDecoder;

//解决浏览器环境问题
const jsdom = require("jsdom");
const {JSDOM} = jsdom;
const dom = new JSDOM('<!DOCTYPE html><p>Hello world</p>');
window = dom.window;
document = window.document;
XMLHttpRequest = window.XMLHttpRequest;

4、python脚本中execjs的使用

import execjs #导入

node = execjs.get() #安装nodejs后,会得到运行环境名为:Node.js (V8)

with open('js_code.js',encoding='utf-8') as f:
    js_code = f.read()
ctx = execjs.compile(js_code, cwd=r'E:\Nodejs\node_modules\npm\node_modules') #compile方法去加载js代码,参数cwd指定本地安装模块所在目录
data = ctx.eval('getData(xxx)')  #eval方法去执行js中的函数或方法

 

上一篇:056.指针-指针所占用的内存空间


下一篇:javascript – ExecJS :: ProgramError:意外的令牌punc«(»,预期的punc«:»运行rake资产时:生产时预编译