我正在尝试Graalvm的用例,我想知道我是否可以在从java调用的JavaScript中使用import语句。我两个都试过:
context.eval("js", "import v4 from 'uuid';var o = v4();");
其给出误差Expected an operand but found import import v4 from 'uuid';var o = v4();
和
创建单独的脚本,其中包含
import v4 from 'uuid';
var uu = v4();
然后通过以下方式运行脚本
InputStream inputStream = Controller.class.getResourceAsStream("/script.js");
String script = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
context.eval("js", script);
返回相同的错误:Expected an operand but found import import v4 from 'uuid';
我看了一下文档,似乎是有可能的。有没有人能帮我找到正确的方法?
1条答案
按热度按时间i34xakig1#
如果有人仍然感兴趣,下面的代码是在Windows 10上运行的Eclipse上测试的。(注意双转义反斜杠)当然,您应该同时安装GraalVM和GraalJS。
其中,
foo.mjs
位于文件夹C:/Other
中,内容如下:输出:
Eclipse中的类路径:
其中graal-sdk-xx.x.x.jar从maven repo单独下载。
医生
**Part 2.**如果您想从文件中获取JavaScript:
看这里