首页 > 解决方案 > 未捕获的 ReferenceError: 要求未在 app.js:3 中定义

问题描述

将前端 HTML 连接到私有区块链以与智能合约交互时出现问题。

步骤完成如下:

// 示例 app.js 文件代码

var Web3 = require('web3');
var web3 = new Web3();

if (typeof web3 !== 'undefined') {alert(" web3.currentProvider :: " + web3.currentProvider);
    web3 = new Web3(web3.currentProvider);
} else {
    // set the provider you want from Web3.providers
    web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
 }

 var abi= My-custom-ABI;


 var ins=web3.eth.contract(abi);
 var instance= ins.at("My-Contract-Address");
 var accounts;
 var account;
 var account2;

标签: javascripttypescriptweb3web3jsgo-ethereum

解决方案


您应该将其安装为您的依赖项,尝试npm install --save web3. 此外,您需要 webpack 来编译您的 javascript,因为浏览器不理解require语法。


推荐阅读