希望这比我做的要容易 - 我是一名 Java 编码员,一些内部 Javascript 方面对我来说有点陌生。
尝试将出色的CodeJar 库嵌入GWT 面板中。CodeJar 有一个非常好的/简单的示例:
<script type="module">
import {CodeJar} from './codejar.js'
import {withLineNumbers} from './linenumbers.js';
const editor = document.querySelector('.editor')
const highlight = editor => {
// highlight.js does not trim old tags,
// let's do it by this hack.
editor.textContent = editor.textContent
hljs.highlightBlock(editor)
}
const jar = CodeJar(editor, withLineNumbers(highlight), {
indentOn: /[(\[{]$/
})
jar.updateCode(localStorage.getItem('code'))
jar.onUpdate(code => {
localStorage.setItem('code', code)
})
</script>
模块函数本身如下所示:
export function CodeJar(editor, highlight, opt = {}) { ... }
'editor' 是一个 Div 引用,'highlight' 是一个用于处理代码高亮的回调库函数。
我正在与 JsInterop 标记和代码作斗争,以使 Javascript 模块与 GWT 一起工作。以上有一些我正在与之抗争的方面
- 替换“导入”,以便 GWT 可以使用 javascript 模块代码。Obvioulsy 我可以在我的顶级 index.html 中导入 js,但据我了解,JS 模块不会成为全局命名空间的一部分,它们只能从导入它们的 JS 模块中使用。在我的情况下,大概需要是 GWT 代码。
- 在 GWT 中重新编码上述内容时如何传递回调函数
- 如何获取我自己的“jar”引用来设置/获取自己的文本(替换使用本地存储)