是否可以将Scala编译传输到浏览器,同时保持解释用户动态提供的Scala代码的能力?

问题描述

我知道Scala.js可以转换为JS,但是它不支持反射。 有什么方法可以解释用户提供的Scala代码而又不会重复到服务器端?

如果无法以这种方式解释Scala,是否可以从Scala代码(即从将要编译的Scala代码)运行用户提供的JavaScript代码

解决方法

第一个问题:不,那是不可能的。出于多种原因,Scala编译器无法编译为JavaScript,这使得无法在浏览器中编译用户提供的代码。

对于第二个问题:是,使用js.eval(dynamicJSCodeString)。有关eval和安全性的标准警告。

,

第一个问题:是的,这绝对是可能的。您只需要用ECMAScript或存在ECMAScript编译器的语言(例如TypeScript,CoffeeScript,Python,Ruby,Kotlin或当然是Scala)编写Scala解释器,或使用存在该解释器的语言来编写用ECMAScript或存在ECMAScript编译器的语言来编写……当然,您也可以链接这些方法。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...