js-skulpt
js-skulpt 是基于 JavaScript 构建的运行 Python 代码的一个模块,正常的使用和运行都能通过以下方式来使用。能够正常使用的地方是普通代码和 turtle 代码的运行,针对 pygame 代码运行时,需要注意的是要在项目的 public 文件夹中引入 assets/pagame_dist 文件夹才能正常使用运行 Python 代码。
-
下载
npm i js-skulpt --save-dev
-
引用
import { initSk, startSk, pauseSk, imageCanvas, clearKeyboardEvent, } from "js-skulpt"; // 存储sk的状态值和输出值 const [myData, setMyData] = useState < any > {}; // 取值 const { successOutput, canvasPrecess, image } = myData; // 代理设置输出的值 const dataPut = (ikey: string, value: any) => { setMyData((myData: any) => { let _myData = { ...myData, [ikey]: value }; return _myData; }); }; //初始化获取监听 useEffect(() => { initSk(dataPut); }, []); //运行获取内部参数 const handleClick = (e: any) => { startSk({ scaleNeed: false, //是否缩放画布 code: code, //输入代码 isLineno, //是否翻译显示行号 boundary: { width: 600, //画布宽 height: 800, //画布高 animate: true, //画布动画 speedLevel: 1, //画布动画速度 }, refInput, //绑定页面input输出父级 refCanvas, //绑定页面画布 workSpace, //绑定页面画布包裹gird env: "production", //服务是测试或生产 }); }; //停止进程获取sk内部参数 pauseSk(); //画布绘制成静态图片的参数获取 imageCanvas(); //停止进程对鼠标和键盘的监听 clearKeyboardEvent();