首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >J2V8的(必需)中出错

J2V8的(必需)中出错
EN

Stack Overflow用户
提问于 2018-03-15 22:51:04
回答 1查看 367关注 0票数 0

在我的java应用程序中,我正在尝试使用Ripple-lib来获得客户端的平衡。

为了调用Ripple javascript API,我使用j2v8如下:

代码语言:javascript
复制
    V8 runtime = V8.createV8Runtime();
    runtime.executeVoidScript(""
            + "const RippleAPI = require('ripple-lib').RippleAPI;\n"
            + "const api = new RippleAPI({\n"
            + "    server: 'wss://s.altnet.rippletest.net:51233'\n"
            + "});\n"
            + "var client = {\n"
            + "    getBalance: function (address) {\n"
            + "        api.connect().then(() => {\n"
            + "            api.getBalances(address).then(balances => {\n"
            + "                return JSON.stringify(balances, null, 2);\n"
            + "            });\n"
            + "        })\n"
            + "    }\n"
            + "};");
    V8Object client = runtime.getObject("client");
    V8Array parameters = new V8Array(runtime);
    parameters.push("rHY6yUsQaEigs867XUgaMp89Hhm2eJs5jQ");
    String result = client.executeStringFunction("getBalance", parameters);
    System.out.println(result);
    parameters.release();
    runtime.release();

但有一个例外:

代码语言:javascript
复制
Exception in thread "main" undefined:1: ReferenceError: require is not defined
const RippleAPI = require('ripple-lib').RippleAPI;
                  ^
ReferenceError: require is not defined
    at <anonymous>:1:19
com.eclipsesource.v8.V8ScriptExecutionException

有谁能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2018-03-16 02:14:12

如果您运行的是j2v8,引擎只知道pre,甚至不知道窗口变量,因为窗口、文档和Dom操作api是由浏览器提供的,而不仅仅是引擎。Require不是js函数。它不会被v8引擎识别

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49302606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档