【问题标题】:$.extend is not a function with Toastr and NodeJS$.extend 不是 Toastr 和 NodeJS 的函数
【发布时间】:2021-06-11 14:02:35
【问题描述】:

我正在使用 NodeJS 并尝试使用 Toastr 实现错误消息。每当我尝试使用它时,我都会收到错误$.extend is not a function。我正在使用var toastr = require('toastr') 将toastr 导入文件,甚至尝试更改toastr.js 文件的一个组件(请参阅https://github.com/CodeSeven/toastr/issues/559),这会导致另一个错误jQuery needs a window in a document。我知道这个问题一定与 jQuery 有关,但无法解决。任何帮助将不胜感激!

谢谢!

【问题讨论】:

  • jQuery 是浏览器的 DOM 库,而不是服务器端的东西。你到底想在这里做什么?为什么要在节点中运行它?
  • 只需为应用添加 toastr 错误通知。我收到的错误消息特别提到了 jQuery,但我不知道问题到底是什么。
  • 不,你不明白,toastr是给浏览器的,node运行在server上。你为什么要在 server 上为 client 运行一些东西?
  • 我同意你的看法 - 我可能不明白 :),但该应用程序是一个网络应用程序,我过去曾将 toastr 通知用于其他类似的项目。我只想在用户跳过表单中的必填字段、应用程序崩溃等时收到错误消息。您还有其他建议吗?

标签: javascript node.js npm node-modules toastr


【解决方案1】:

Toastr(和 jQuery)设计为在浏览器中运行,而不是在 Node.js 中。

将它与 require 一起使用是没有意义的,除非作为涉及捆绑程序(例如 Webpack 或 Parcel)的工具链的一部分。

如果您想从 Node.js 输出错误消息并将其显示在浏览器中,那么您需要某种方式在两个程序之间进行通信(例如,通过响应浏览器发出的请求或通过 websocket 发送消息) .您可以在浏览器中运行一个程序,使用 toastr 来显示它。

【讨论】:

  • 感谢您的回答!你对我可以用于错误处理/消息的其他包有什么建议吗?
  • @Alex88 — console.log 适用于大多数情况。其他任何事情都取决于具体需求。
  • 嗨昆汀-再次感谢您的输入。不过,我想要一些可以提醒用户的东西,作为实际的错误消息。有什么想法吗?
  • 看答案的最后一段。
猜你喜欢
  • 1970-01-01
  • 2018-06-01
  • 2019-03-24
  • 2019-07-15
  • 2013-07-20
  • 2015-03-18
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
相关资源
最近更新 更多