【问题标题】:ReferenceError: signalR is not definedReferenceError:未定义信号R
【发布时间】:2019-01-27 13:15:05
【问题描述】:

目前我正在创建一个聊天。我想使用 AspNetCore (2.2) SignalR。 我已按照https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-2.2&tabs=visual-studio 上的说明进行操作,但现在我面临以下问题: 当我在 IIS 中运行我的客户端时,会出现以下错误:

ReferenceError: signalR is not defined[了解更多] script.js

匿名http://localhost:20610/js/script.js

我在网上搜索,发现在 NodeJS 中你必须使用 const signalR = require("@aspnet/signalr"); 但就我而言,我使用的是纯 JavaScript,所以我认为我不需要添加这一行。我说的对吗?

这是我的 html 和我的 js 代码的开头:

<head>
    <title>abc</title>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="style/style.css">
    <script src="js/jquery-3.3.1.min.js"></script>
    <script src="js/signalr.min.js"></script>
    <script src="js/script.js"></script>
</head>
var connection = new signalR.HubConnectionBuilder().withUrl(base).build();

有什么建议可以让它发挥作用吗?

谢谢:)

【问题讨论】:

  • signalr.min.js 是否在 js 文件夹中?在浏览器中按F12查看signalR is not defined[Learn More] script.js之前是否有其他错误

标签: javascript asp.net-core asp.net-core-signalr


【解决方案1】:

SignalR 未定义,因此未找到。尽管您使用纯 JavaScript 进行编程,但您仍然必须包含 SignalR。此外,请确保路径实际上通向 SignalR。

【讨论】:

  • 首先非常感谢您的建议。这是我第一次包含外部 js 文件,因此如果您能更精确地说明如何执行此操作,我将不胜感激。我已经用这条线试过了:import signalR from "./signalr.js"; 但现在我得到了一个 Uncaught SyntaxError: Unexpected identifier。我究竟做错了什么?我还尝试添加 import signalR from "@aspnet/signalr"; 并出现相同的错误。
  • 我刚刚尝试了一些事情,发现当我加载我的网站时,API 的日志显示了一个 signalR 连接。然后我尝试了我的聊天,似乎 signalR 与问题中制定的陈述一起工作,即使发生错误“signalR 未定义”。因此这个问题不再那么重要了,但我仍然想知道如何消除这个错误。
【解决方案2】:

我迟到了几个月(新的,也无法发表评论),但是,我遇到了同样的问题。在这里没有看到回复,我想我会添加一个。要清除错误,请将您的 &lt;script src="~/lib/signalr/dist/browser/signalr.js"&gt;&lt;/script&gt; 到 Pages/Shared_Layout.cshtml 文件并将其放置在某处,例如页脚下方。

这也应该删除控制台中的警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-24
    • 2015-10-04
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多