Java库生成JavaScript代码

我需要从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,这里有一个在线的沙箱,你可以在判断它是否是最好的选项之前看到输出。

Interesting Posts