繁体   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