UNPKG

traceback.js

Version:

代码回溯。指定文本的位置,格式化显示选定区域

73 lines (49 loc) 1.64 kB
# traceback.js 代码回溯。指定一段文本的位置,格式化显示 ![预览图](https://tao-1252397519.cos.ap-shanghai.myqcloud.com/github-projects/traceback-js.jpg) ## 使用 安装: ```shell npm install traceback.js --save ``` 可使用的 API 有:`init``render``renderToString` ### `init` 初始化配置并渲染源文本: ```javascript import TracebackJS from 'traceback.js'; TracebackJS.init('.traceback-js', { highlightRow: 5 }); ``` 1. 第一个参数 `selectors` 为 css 选择符 2. 第二个参数 `opts` 为配置对象 配置对象 `opts`: ```javascript // 下面的值均为默认值 { highlightRow: 1, // 高亮行 start: 1, // 起始行号 displayRows: '-5+5', // 展示规则。可以是 -1|string|object separator: '\n', // 分隔符。全部源文本使用它分隔成一行行 } ``` `displayRows` 展示规则: + `-1` 展示全部行 + `'-10+8'` 展示前 10 行、后 8 行 + `{ upward, downward }` 展示前 upward 行、后 downward 行 ### `render` (底层 API) 根据源文本,返回渲染 dom: ```javascript fetch('sometext.txt') .then(res => res.text()) .then((data) => { const $dom = TracebackJS.render(data, opts); insert($dom); // 可供操作的 dom }); ``` ### `renderToString` 返回 html 字符串而不是添加到 dom 中。 ```javascript TracebackJS.renderToString(data, { highlightRow: 4 }); // html 字符串 // '<div class="traceback-js">...</div>' ``` 1. 第一个参数 `rawInput` 为源文本 2. 第二个参数 `opts` 为配置对象