反应错误:未定义 web3' no-undef

Posted

技术标签:

【中文标题】反应错误:未定义 web3\' no-undef【英文标题】:React error: web3' is not defined no-undef反应错误:未定义 web3' no-undef 【发布时间】:2019-07-23 16:47:17 【问题描述】:

我将 web3 安装在 react-app 的一个文件夹中:

npm install --save ethereum/web3.js

但我得到反应错误:web3' is not defined no-undef

   import Web3 from 'web3'

    export const startMetaMask = () => 

        if (window.ethereum) 
            web3 = new Web3(window.ethereum);
            try 
                window.ethereum.enable().then(function() 

                );
             catch (e) 
        

        else if (window.web3) 
            web3 = new Web3(web3.currentProvider);
        

        else 
            alert('You have to install MetaMask !');
        
    

【问题讨论】:

【参考方案1】:

你应该像Documentation中提到的那样导入包

因为它是Named Export 而不是Default export

import Web3 from 'web3';

【讨论】:

感谢您的回复。不幸的是,它没有帮助【参考方案2】:

如果你是这样安装 web3 的:

npm install --save ethereum/web3.js

请检查您的package.json 文件以查看如何查看此库,可能是ethereum/web3。所以你的导入应该看起来更像这样:

import Web3 from 'ethereum/web3'

如果你想从 npm 安装 web3 包,你可以这样做:

npm install --save web3

并像您一样导入。根据https://www.npmjs.com/package/web3

【讨论】:

以上是关于反应错误:未定义 web3' no-undef的主要内容,如果未能解决你的问题,请参考以下文章

变量未定义,no-undef;我怎样才能绕过这个错误?

React Context 不工作:未定义 no-undef

让 accounts = web3.eth.getAccounts() 显示未定义和 app.vote(1, from: accounts[1] ) 显示错误

Firefox 4 中的 JQuery 未定义和 $ 未定义错误 [关闭]

Web3 元掩码连接无法读取未定义的属性(读取“以太坊”)

在 react.js 中使用 three.js 创建 WebXR 应用程序时,我不断看到“XRWebGLLayer”未定义 no-undef