在我的java应用程序中,我正在尝试使用Ripple-lib来获得客户端的平衡。
为了调用Ripple javascript API,我使用j2v8如下:
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();但有一个例外:
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有谁能帮帮我吗?
发布于 2018-03-16 02:14:12
如果您运行的是j2v8,引擎只知道pre,甚至不知道窗口变量,因为窗口、文档和Dom操作api是由浏览器提供的,而不仅仅是引擎。Require不是js函数。它不会被v8引擎识别
https://stackoverflow.com/questions/49302606
复制相似问题