如何使用browserify在客户端html文档中使用Node.js包

时间:2017-07-22 14:53:30

标签: javascript jquery html node.js browserify

我无法使用broweserify在我的网站上使用node.js模块。该示例仅显示如何运行与.html文件分开的javascript文件,而不是如何使用<。em> .html文件中的node.js模块。似乎是一个微不足道的问题,但我无法使其发挥作用。

这就是我所做的:

  1. 已初始化的node.js&amp;安装了一个包,npm i webtorrent-health作为示例
  2. 创建require_stuff.js,其中包含一行:var WebtorrentHealth = require('webtorrent-health')
  3. 运行browserify:browserify require_stuff.js > bundle.js
  4. 在我的html文档中包含包,例如<script src='bundle.js'></script>
  5. 在我的文档中的某处使用该包,例如像这样:<script>webtorrentHealth(magnet).then(foobazbar())</script>
  6. 尽管bundle.js执行并且似乎定义了webtorrentHealth,但.html文档中的脚本失败了WebtorrentHealth is not defined。我究竟做错了什么?我如何使其工作?谢谢!

1 个答案:

答案 0 :(得分:0)

你非常接近你想要达到的目标。实际上,由于browserify,您的代码bundle.js无法从外部(在您的情况下是浏览器)访问,但您可以通过在文件末尾写入require_stuff.js来公开您的模块:

window.WebtorrentHealth = WebtorrentHealth;

现在您可以在文档中使用WebtorrentHealth。