# js-skulpt

> js-skulpt 是基于 JavaScript 构建的运行 Python 代码的一个模块，正常的使用和运行都能通过以下方式来使用。能够正常使用的地方是普通代码和 turtle 代码的运行，针对 pygame 代码运行时，需要注意的是要在项目的 public 文件夹中引入 assets/pagame_dist 文件夹才能正常使用运行 Python 代码。

Latest version **0.2.42** (published 2021-07-20) · ISC license · 0 weekly downloads

## Install

```sh
npm install js-skulpt
pnpm add js-skulpt
yarn add js-skulpt
bun add js-skulpt
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.42 |
| Published | 2021-07-20 |
| First published | 2021-07-20 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 957.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | narofufor |

## Links

- npm: https://www.npmjs.com/package/js-skulpt
- npm.io page: https://npm.io/package/js-skulpt

## Dependencies (1)

- [js-base64](https://npm.io/package/js-base64.md) 3.5.2

## Recent versions

- 0.2.42 (latest) — 2021-07-20
- 0.2.41 — 2021-07-20
- 0.2.40 — 2021-07-20
- 0.2.39 — 2021-07-20

## README

# js-skulpt

js-skulpt 是基于 JavaScript 构建的运行 Python 代码的一个模块，正常的使用和运行都能通过以下方式来使用。能够正常使用的地方是普通代码和 turtle 代码的运行，针对 pygame 代码运行时，需要注意的是要在项目的 public 文件夹中引入 assets/pagame_dist 文件夹才能正常使用运行 Python 代码。

- 下载

  ```bash
  npm i js-skulpt --save-dev
  ```

- 引用

  ```javascript
  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();
  ```

---
_Source: https://npm.io/package/js-skulpt · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
