【问题标题】:How to import npm module in JavaScript stimulus如何在 JavaScript 激励中导入 npm 模块
【发布时间】:2019-12-23 13:14:05
【问题描述】:

我想使用来自zpl-image 模块的imageToZ64()

我已经安装了它:npm install zpl-image

然后我导入它:import './../../../node_modules/zpl-image';

但是当我使用这样的功能时let res = imageToZ64(canvas); 我得到:未捕获(承诺)ReferenceError:未定义imageToZ64

我尝试这样导入它:import { imageToZ64 } from './../../../node_modules/zpl-image/zpl-image';

但问题是这个函数使用了 pako.js 中的其他函数,pako.js 是 zpl-image 中的另一个 js 文件。 我的问题是如何以能够访问所有功能的方式导入模块?

【问题讨论】:

  • const { imageToZ64 } = require("zpl-image"); 应该做这项工作。从长远来看,还阅读有关 import-export 的信息会有所帮助
  • 谢谢,但现在我收到了这个错误,正如我所料:main.js:66 Uncaught (in promise) ReferenceError: pako is not defined at t (main.js:66) at imageToZ64 (main .js:66) 在 main.js:28 它无法访问 pako.js 文件!

标签: javascript npm-install


【解决方案1】:

我强烈建议您在这里阅读自述文件:zpl-image repo GitHub

为了在 Node.js 中使用它:

const imageToZ64 = require("zpl-image").imageToZ64;

或者:

const { imageToZ64, rgbaToZ64 } = require("zpl-image");

如果您尝试在浏览器中使用它,请阅读 generic browser usage 由于您已经通过 npm 安装了它,所以在 node_modules/zpl-image/zpl-image.html 中有一个演示文件,您可以在浏览器中打开它,阅读其内容,并了解代码是如何工作的,这就是演示文件的目的。

【讨论】:

  • 我都试过了,但我仍然得到:main.js:66 Uncaught (in promise) ReferenceError: pako is not defined at t (main.js:66) at imageToZ64 (main.js:66) at imageToZ64 (main.js:66) js:66) 在 main.js:28 它无法访问 pako.js 文件!
  • 好的,您能否编辑您的问题并提供更多信息:您编写的代码、您的项目设置以及您想要做什么,所以我可以进一步调查您收到此错误的原因
  • 我真的不知道为什么会出现此错误,因为您没有提供更多信息,如果您尝试在浏览器中使用 zpl-image 我已经编辑了答案。
  • 我将 JS 脚本引用添加到我的 HTML 页面只是为了尝试一下,它突然可以工作了!我现在可以从我的控制器访问这些功能我不知道这实际上有什么帮助! ,, 谢谢瓦利德!
  • 不客气,请不要忘记将此答案标记为已接受
猜你喜欢
  • 2020-05-29
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 2012-09-28
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
  • 2020-02-14
相关资源
最近更新 更多