【问题标题】:Javascript. Uncaught TypeError: Hashids is not a constructorJavascript。未捕获的 TypeError:Hashids 不是构造函数
【发布时间】:2019-11-30 03:04:09
【问题描述】:

运行教程中的代码https://www.npmjs.com/package/hashids

<script type="text/javascript" src="js/hashids.min.js"></script>
<script type="text/javascript">

    var hashids = new Hashids();
    console.log(hashids.encode(1));

</script>

得到错误:Uncaught TypeError: Hashids is not a constructor.

我在一个没有模块的 vanilla js 应用程序中运行它。只是 html 和 js 文件。如果我使用reqire(hasids),那么它会弹出错误:require is not defined。我需要在使用常规浏览器 javascript 编码的应用程序上运行它。请帮我运行这个。 谢谢!

【问题讨论】:

  • 您是否已通过浏览器“网络”开发人员工具验证脚本实际上已正确加载?
  • @Pointy 出现在两个来源中。和网络。我真的不知道出了什么问题,但我真的需要让它工作。
  • @Pointy 可能只是一个问题,因为 hashids 是为节点编写的,但我试图使用它的常规 js
  • 他们自己的文档宣传它完全按照您的代码预期工作。您有最新版本吗?
  • @Pointy 是的。那是确切的问题。文档似乎错误/旧。我从他们的 dist 文件夹中下载了 hashids.min.js。如果您可以制作一个虚拟浏览器并对其进行测试,那就太好了。我知道我太打扰你了,所以你不必这样做。但我会非常感激和感激,这对我有很大帮助。

标签: javascript html hashids


【解决方案1】:

该模块的网络信息不正确。当您以您的方式导入脚本时,您必须使用

var hashids = new Hashids.default();

您可能想记录有关它的 Github 问题;这显然具有误导性,因为它们明确告诉您完全按照您的代码执行的操作。

【讨论】:

  • 如何加盐?
  • @AbhiBurk 将盐传递给 default 调用因此:new Hashids.default("this is my salt")
  • @Pointy 感谢您的回答!刚刚为此打开了文档的更新 -- github.com/niieani/hashids.js/pull/314
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 2020-09-17
  • 2019-02-13
  • 2018-04-09
  • 2020-07-18
  • 2019-03-23
相关资源
最近更新 更多