KO
|
EN
gitlite — search
Search
#python
#java
#python3
#arduino
#golang
#machine-learning
#rust
#html
#flask
#javascript
#seismology
#nodejs
jcode-tools
★ 15
Open GitHub ↗
码上掘金项目的增强工具
Download README (.md)
Explore Similar Repositories
stm32-crc32-calculator
:
STM32 CRC32 software calculation utility
DistilProtBert
:
DistilProtBert implementation, a distilled version of ProtBert model.
profet
:
No description available.
vmu-tools
:
A set of tools to modify and read VMU files and filetypes
moon-case
:
Simple Whatsapp - MultiAuth
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
jcode-tools
?
Download (.md)
# JCode Tools ## 简介 这是为[码上掘金](https://code.juejin.cn/)提供的JS工具库,用它来增强码上掘金的能力和弥补它的不足。 ## API ### 1. JCode.getCustomCode 在[自定义Script模式](https://juejin.cn/post/7118935790192721957)下,获得代码文本。 ```js const code = await JCode.getCustomCode(); ``` ### 2. JCode.logger 将控制台内容输出到页面上。 ```js const logger = JCode.logger(container); logger.log('Hello %cworld', 'color:red'); ``` ### 3. JCode.CodeXClient 运行服务端代码。 支持同步和异步模式。 #### 同步模式:[在线demo](https://code.juejin.cn/pen/7122291068397322248) ```html <script type="module"> import {CodeXClient, logger} from 'https://cdn.jsdelivr.net/npm/jcode-tools/dist/jcode-tools.esm.js'; (async () => { window.console = logger(app); console.log('提交代码,请稍候'); try { const code = new CodeXClient(); // 默认会从CustomCode中获取 const result = await code.runCode({input: ['1 1']}); if(result.error) { console.error(result.error); } console.log(result.output); } catch(ex) { console.error(ex); } })(); </script> ``` #### 异步模式:[在线demo](https://code.juejin.cn/pen/7121977600011927589) ```html <script type="module"> import {CodeXClient, logger} from 'https://cdn.jsdelivr.net/npm/jcode-tools/dist/jcode-tools.esm.js'; (async () => { window.console = logger(app); console.log('提交代码,请稍候'); try { const code = new CodeXClient(); code.onmessage = (msg) => { console.log(msg); } code.onerror = (msg) => { console.error(msg); } const result = await Promise.all( [code.runCode() , code.input('1 1') , code.input('2 3') , code.input('')]); if(result[0].error) { console.error(result[0].error); } } catch(ex) { console.error(ex); } })(); </script> ``` ### 4. KV存储服务 提供简单的KV存储,可以存储一些数据到服务器。 ```js import {Storage} from 'https://cdn.jsdelivr.net/npm/jcode-tools/dist/jcode-tools.esm.js'; const storage = new Storage(); const successful = await storage.set('juejin', {id: 'value'}); if(successful) { const data = await storage.get('juejin'); console.log(data); // {id: 'value'} await storage.del('juejin'); } else { console.error(storage.result.error); } ``` ## 使用方式 1. 可以直接通过 CDN 引入 `https://cdn.jsdelivr.net/npm/jcode-tools` 以及对应的 css `https://cdn.jsdelivr.net/npm/jcode-tools/dist/jcode-tools.css`; <img src="assets/jcode-tools.jpg" width="480"> <img src="assets/jcode-tools-css.jpg" width="480"> 2. 可以通过 ESModule 引入: ```js import {CodeXClient, logger} from 'https://cdn.jsdelivr.net/npm/jcode-tools/dist/jcode-tools.esm.js'; ``` ## 如何贡献代码 Clone 本项目,`npm install` 安装依赖,然后运行 `npm run dev`。 设置 `http://localhost:8000/dist/jcode-tools.js` 到码上掘金项目的依赖资源中即可调试运行。