簡體   English   中英

Java庫生成JavaScript代碼

[英]Java Library to generate JavaScript Code

我需要從Java程序內部生成JavaScript(ECMAScript)代碼。 為此,我正在尋找類似JavaPoet的東西,但是將JavaScript作為輸出。

我不能使用其中一種將另一種語言轉換為JavaScript的編譯器(例如,GWT不能解決問題),也不能使用從語法樹生成JavaScript的工具(僅當存在幫助構建該語法樹的庫時)。

像已經提到的JavaPoet之類的東西將是答案,因為它在內存使用和代碼大小方面的占用空間都非常小。

如果可能,生成的JavaScript代碼的目標是Java / JSR 223(Nashorn)。

要指定要求:JavaPoet使用此代碼

MethodSpec main = MethodSpec.methodBuilder("main")
    .addModifiers(Modifier.PUBLIC, Modifier.STATIC)
    .returns(void.class)
    .addParameter(String[].class, "args")
    .addStatement("$T.out.println($S)", System.class, "Hello, JavaPoet!")
    .build();

TypeSpec helloWorld = TypeSpec.classBuilder("HelloWorld")
    .addModifiers(Modifier.PUBLIC, Modifier.FINAL)
    .addMethod(main)
    .build();

JavaFile javaFile = JavaFile.builder("com.example.helloworld", helloWorld)
    .build();
javaFile.writeTo(System.out);

創建此Java代碼

package com.example.helloworld;

public final class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, JavaPoet!");
  }
}

(我已經從JavaPoet項目網站復制了該示例。)

我想使用類似的方法來創建JavaScript代碼。

就我目前所知,StringBuilder實際上最接近此要求。 首先生成Java以將其轉換為JavaScript應該可以,但是對我來說真的很奇怪-就是全部,但並不是真正的輕量級。 與首先生成Kotlin或Ceylon代碼,然后將其轉換為JavaScript相同。

我知道您不希望使用編譯器,但是由於似乎沒有想要的javascript生成器,因此輕量級的Java-js編譯器可以完成此工作。

如前所述,嘗試使用javapoet生成一些Java,然后使輸出通過jsweet Transpiler,有一個在線沙箱可用於查看輸出,然后再確定是否是最佳選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM