怎么在 Java 后端执行 Node.js 代码并且返回结果给前端

2023-08-14 15:51:20 +08:00
 Jokerboozp

单位之前用的 Thingworx 物联网平台,里面有一个编写 Node.js 代码的编辑器,编辑之后可以直接运行显示结果。最近让我整体搬到新项目里面,说是前端没办法运行,要把 js 代码传给后端让后端运行。 里面有一些自定义的语法,我的想法是关键字匹配,如果匹配到关键字,就执行对应的操作,然后再把执行之后的结果和剩下的 js 拼接起来。 但是这样做的话就有点像一个 js 翻译器了,而且效率并不高。 我找了半天,实在没有好办法。各位大佬有没有好一点的解决方法。https://ice.frostsky.com/2023/08/14/3f6c0074202ec7d325673a21efe90f31.png

3750 次点击
所在节点    Java
44 条回复
musi
2023-08-14 23:12:56 +08:00
@Jokerboozp 这就相当于一个参数了,不管你是用什么方式你都得自己去实现对应的参数应该执行的方法,不是说你用个 node.js 什么东西写个服务它就自己有这些东西,这个平台是你们自己定义的不是么
musi
2023-08-14 23:16:38 +08:00
我劝你也别折腾了,让你们公司前端做吧,专业的人做专业的事
biubiuGolang
2023-08-17 10:24:46 +08:00
@Jokerboozp 在 GraalVM 上使用 polyglot 执行多语言是没啥问题的,这里面包括多语言事务和 sandbox 控制,以及在 js 中调用 java java 调用 js ,你如果有了后续的更新可以回一下贴 ~
Jokerboozp
2023-08-28 10:15:10 +08:00
@biubiuGolang 单位用的 jdk8 ,GraalVM 的新版本不支持,只能用老版本,但是我电脑是 M1 pro 的 MacBook ,又跑不起来老版本的 GraalVM 。所以现在在试着用 J2V8 写

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/965163

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX