Пример кода Java < /p>
package com.lson;
import org.teavm.jso.JSExport;
public class JsTest {
private static JsTest instance = new JsTest();
public static void main(String[] args) {
// 这个main方法只是为了让TeaVM有入口点编译
add(1, 2);
}
//@JSExport注解将方法暴露给JS调用,否则无法使用
@JSExport
public static JsTest getInstance() {
return instance;
}
@JSExport
public static int add(int a, int b) {
int i = a + b;
System.out.println("add:" + i);
return i;
}
@JSExport
public int multiply(int a, int b) {
int i = a * b;
System.out.println("multiply:" + i);
return i;
}
}
< /code>
плагин Maven < /p>
org.teavm
teavm-maven-plugin
0.12.0
org.teavm
teavm-classlib
0.12.0
compile
process-classes
com.lson.JsTest
true
true
true
false
org.teavm:teavm-jso:0.12.0
WEBASSEMBLY
затем выполнить пакет MVN
Следующие файлы генерируются:
classes.wasmобразно /> Я использую пример с официального веб-сайта https://www.teavm.org/docs/intro/getting-started.html для загрузки на html-странице
TeaVM Test
async function main() {
let teavm = await TeaVM.wasmGC.load("classes.wasm");
console.log(teavm)
teavm.exports.main([]);
}
< /code>
Следующая ошибка будет выведена в консоли: < /p>
wasm2.html:10 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'load')
at main (wasm2.html:10:42)
at onload (wasm2.html:17:24)
Подробнее здесь: https://stackoverflow.com/questions/796 ... use-in-web
Как я могу использовать TEAVM для преобразования кода Java в Webassembly (WASM) для использования на веб -страницах? ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение