未捕获错误:无法找到模块' openpgp'

时间:2017-03-18 12:56:55

标签: javascript node.js npm npm-install

我正在学习javascript,并尝试在我的js文件中使用npm导入一些模块。要使用require()导入某个模块,它运行正常,但我不知道为什么,对于 openpgp.js 我有一个

  

未捕获错误:找不到模块' openpgp'。

这是我的 package.json

{
  "name": "User",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {
    "openpgp": "^2.5.1",
    "truffle-artifactor": "^2.1.2"
 },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}

我的应用设置:app config

  1. 我在js文件中运行npm install openpgp

  2. 在我的js中,我输入var openpgp = require('openpgp');

  3. 来导入模块
  4. 然后我刷新浏览器并看到我的错误:browser error
  5. 有关信息,当我使用节点控制台时,模块工作正常!

    我在javascript中真的很新,所以我可能做错了。如果有人知道它会有所帮助!

1 个答案:

答案 0 :(得分:0)

为了在Node中要求Node模块,就像在Node中一样,你需要一个外部库。例如,您可以使用browserify lib。

Browserify允许您将具有所需依赖关系的脚本捆绑到可以包含在网页中的单个文件中。

Browserfiy网站和文档应该足够明确。我在这里报告主要步骤:

  1. 在您的系统上安装browserify:

    npm install -g browserify
    
  2. 使用以下命令将脚本与require("openpgp")捆绑在一起:

    browserify yourScriptName.js -o bundleFile.js
    

    其中 -o 参数用于选择输出文件,如果省略,则browserify将在stdout上打印输出

  3. 现在,您可以在包含以下标记的网页中包含上一个输出:

    <script src="bundleFile.js"></script>