【问题标题】:How do I convert a Node.js library into something that can be used in the browser?如何将 Node.js 库转换为可以在浏览器中使用的东西?
【发布时间】:2019-12-20 13:19:10
【问题描述】:

我想从浏览器调用这个 Node.js 库:

cloudmersive-convert-api-client

NPM 页面说你可以使用 browserify。我尝试使用 wzrd.in(托管 browserify)生成浏览器 JS 文件:

https://wzrd.in/standalone/cloudmersive-convert-api-client@latest

但是,我不熟悉的 wzrd.in 并没有说明如何实际调用它。当我编写以下代码时:

var CloudmersiveBarcodeapiClient = require('cloudmersive-convert-api-client');

在 HTML 页面中出现错误:

Uncaught ReferenceError: require is not defined

将这个库转换为浏览器 Javascript 后,如何实际导入它?非常感谢任何帮助。

【问题讨论】:

  • 你可以使用 ES6 模块语法——它适用于现代浏览器(和节点)——但是,不确定这与 browserify 生成的代码有什么关系——也许有一些 browserify 的文档解释了如何使用浏览器中的输出代码 - 只需自己阅读说明......似乎您可能没有在 html 的脚本标记中添加捆绑的 js
  • @JaromandaX 谢谢 - 我阅读了 browserify 文档,但它令人困惑,因为它说首先编写您的 JS,然后在您的 JS 应用程序(而不是源库)上运行 browserify。由于 wzrd.in 做了库(不是你的代码),这就是我来到这里的方式。在这种情况下,ES6 模块语法会是什么样子? (我通常不会在 JS 中编码,所以这是我的问题的一部分)
  • 忽略我评论中的 ES6 模块部分 - 这无济于事 - 编辑了评论,所以请重新阅读
  • 你能告诉我们你用于 cloudmersive-convert-api-client 的 browsify 命令吗?
  • @SaiKarthik 我将此网站用于托管浏览器:wzrd.in/standalone/cloudmersive-convert-api-client@latest,此处有更多详细信息:wzrd.in

标签: javascript node.js browserify


【解决方案1】:

我对 browserify 的理解是它会查找 require() 调用,并提供使其工作的东西。在某些情况下,以 require 函数开头。

您是否考虑过尝试使用捆绑包而不是仅仅要求一个模块的独立版本?

在此处捆绑:https://wzrd.in/bundle/cloudmersive-convert-api-client@latest

加载捆绑包后,我能够运行执行 require 的示例代码

var CloudmersiveBarcodeapiClient = require('cloudmersive-convert-api-client');

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    相关资源
    最近更新 更多