无法访问JavaScript上的node_modules

时间:2018-09-29 11:33:08

标签: javascript node.js npm npm-install node-modules

我对可在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

3 个答案:

答案 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与程序包进行交互。

在此处详细了解捆绑包:https://docs.npmjs.com/getting-started/packages

答案 2 :(得分:0)

您可以使用Browserify从Node上获取模块。