我对可在JavaScript中使用的访问node_modules感到困惑。为此,有谁能举一个例子来调用文件夹node_module中包含的modul.export(在使用NPM安装数据包后-nodejs)?
树结构文件: 文件夹以太坊任何文件夹node_modules,文件index.html(用于调用module.export),package-lock.json,package.json
package.json文件: enter link description here
这样,我已经安装了“ npm install web3”。现在,当我从web3调用一个函数时,例如在这样的程序中:
var Web3=require('web3');
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
web3 = new Web3(new Web3.providers.HttpProvider("https://rinkeby.infura.io/metamask"));
}
console.log(web3);
然后输出如下错误: enter image description here
答案 0 :(得分:0)
如果我的理解正确,那么您在这里遗漏了很大的难题。
您需要编译代码才能使浏览器能够运行它。尝试阅读this question
答案 1 :(得分:0)
web3
软件包既可以通过npm
通过npm install web3
安装,也可以通过以下方式暴露为全局web3
:
<script src="https://cdn.jsdelivr.net/gh/ethereum/web3.js/dist/web3.min.js"></script>
它可以作为<script></script>
标记公开的全局变量运行,也可以作为需要首先捆绑的node
软件包运行。
您的错误代码require is not defined
告诉您node
不在运行您的代码,但是其他原因正在占用您的代码。尝试将代码绑定到浏览器可以理解的内容,或者仅使用全局web3
与程序包进行交互。
答案 2 :(得分:0)
您可以使用Browserify从Node上获取模块。