Ojbc invoke js error: Can't find variable require
Ojbc invoke js error: Can't find variable require
我对 JS 完全陌生。我在 ios 上开发,我们需要在我们的程序中使用 Web3js。在obj-c中调用js函数是可以的。但是,我使用 'require' 导入 Web3js 模块,它抛出“ReferenceError:找不到变量:require”。发生什么了?我错过了什么吗?
任何人都可以帮忙??非常感谢。
更新:
如果'require'不可用,如何使用obj-c调用的js中的其他模块?
这是我的代码。
obj-c代码:
NSString* path = [[NSBundle mainBundle] pathForResource:@"bridge/src/index" ofType:@"js"];
jsFunc = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
JSContext* jsContext = [[JSContext alloc] init];
[jsContext evaluateScript:jsFunc];
JSValue* func = jsContext[@"getAddress"];
JSValue* = [func2 callWithArguments:@[@"0x8730f6ad1c0d387644590966bdbfedba44fe250118df0f97f11190ad5727b312"]];
js:
function getAddress(prvKey)
{
try{
var Web3 = require('../../3rd_party/web3.js-1.0.0');
var web3 = new Web3();
return web3.eth.accounts.privateKeyToAccount(prvKey);
}
catch (e)
{
return e;
}
}
我用Browserify打包了所有模块,然后用webView调用了js函数
这是我的js文件,index.js
"use strict"
let Web3 = require('web3.js');
window.Web3 = Web3;
然后使用 Broswerify 打包
browserify index.js -o web3.js
我的 html,
<html>
<head>
<script type="text/javascript" src="web3.js"></script>
</head>
<body>
<script type="text/javascript">
function getAddress(prvkey)
{
try
{
var web3 = new Web3();
var account = web3.eth.accounts.privateKeyToAccount(prvkey);
return account.address;
}
catch (e)
{
return e;
}
}
</script>
</body>
我对 JS 完全陌生。我在 ios 上开发,我们需要在我们的程序中使用 Web3js。在obj-c中调用js函数是可以的。但是,我使用 'require' 导入 Web3js 模块,它抛出“ReferenceError:找不到变量:require”。发生什么了?我错过了什么吗? 任何人都可以帮忙??非常感谢。
更新:
如果'require'不可用,如何使用obj-c调用的js中的其他模块?
这是我的代码。
obj-c代码:
NSString* path = [[NSBundle mainBundle] pathForResource:@"bridge/src/index" ofType:@"js"];
jsFunc = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
JSContext* jsContext = [[JSContext alloc] init];
[jsContext evaluateScript:jsFunc];
JSValue* func = jsContext[@"getAddress"];
JSValue* = [func2 callWithArguments:@[@"0x8730f6ad1c0d387644590966bdbfedba44fe250118df0f97f11190ad5727b312"]];
js:
function getAddress(prvKey)
{
try{
var Web3 = require('../../3rd_party/web3.js-1.0.0');
var web3 = new Web3();
return web3.eth.accounts.privateKeyToAccount(prvKey);
}
catch (e)
{
return e;
}
}
我用Browserify打包了所有模块,然后用webView调用了js函数
这是我的js文件,index.js
"use strict"
let Web3 = require('web3.js');
window.Web3 = Web3;
然后使用 Broswerify 打包
browserify index.js -o web3.js
我的 html,
<html>
<head>
<script type="text/javascript" src="web3.js"></script>
</head>
<body>
<script type="text/javascript">
function getAddress(prvkey)
{
try
{
var web3 = new Web3();
var account = web3.eth.accounts.privateKeyToAccount(prvkey);
return account.address;
}
catch (e)
{
return e;
}
}
</script>
</body>