【问题标题】:Calling TypeScript from a Java JDK function从 Java JDK 函数调用 TypeScript
【发布时间】:2018-02-04 18:59:33
【问题描述】:

我看到Calling a groovy script from a java function using javax.script 我猜想用runWithGroovyClassLoader 可以得到一个java 类、java 对象并用参数调用它的方法。虽然在示例中它是一个无参数示例。

我是一个能够调用类型脚本的解决方案。所以我的用户在前端输入类型脚本。在后端,我们从 Java 函数中调用脚本,从 Java 传递当前 txn 的一些状态(参数),然后类型脚本返回一个映射 / 对象返回调用 java 函数

【问题讨论】:

  • 为什么没有评论解释为什么反对票和关闭票?
  • 我刚刚检查过,FWIW 的近距离投票表明这是在要求 lib 推荐。我可以看到,lib 是为 Java Scripting API 实现 TypeScript 引擎的东西......
  • @t-j-crowder 但您的答案绝非如此。不能有其他解决方案吗?这是个坏问题吗?
  • 我不会担心的。还有很多更糟糕的。
  • 好吧,反对票意味着看到它的人更少,因此获得任何答案的机会也更少。令人沮丧的@t-j-crowder

标签: java typescript function-invocation


【解决方案1】:

您会寻找与 Java Scripting API 兼容的 TypeScript 引擎。你可能找不到,但你可能会。

但是:JDK 附带 JavaScript 引擎 (Nashorn)。如果您将 TypeScript 转换为 JavaScript(通过 TypeScript 编译器,tsc),则可以通过 javax.script 运行生成的 JavaScript。您需要确保 tsc 的目标是“ES5”,我认为 Nashorn 还不支持 ES2015+。

【讨论】:

  • 是的,我知道。我想避免这种额外的节点 js 之旅来做到这一点。希望在用户、浏览器和我的 jvm 之间保持联系。您的解决方案将有效,只需多一跳和多一台服务器需要维护。
  • @tgkprog:我不明白为什么需要额外的跃点或服务器。如果您需要以 TypeScript 的形式接收代码,您可以轻松地让您的 Java 代码生成 tsc 并运行结果。
  • 对,我没想到。太好了,让我试试
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多