我已经在我的项目中安装了SignalR。我用jQuery实现了一个示例。我想用TypeScript做同样的示例。enter image description here
查看:
const a = "Hollo Word";
document.getElementById('textDiv').textContent = a;
var connection = new signalR.HubConnectionBuilder().withUrl("/CovidHub").build();
connection.start().then(() => {
debugger;
}).catch((err) => {
alert('Error:' + err);
});
@section Scripts{
<script src="~/microsoft/signalr/dist/browser/signalr.min.js"></script>
<script src ="~/js/TsConvertToJs/app.js"></script>
}
<div class="row">
<div class="col-md-8 offset-2">
<div class="row">
<div class="col-12">
<div id="textDiv"></div>
</div>
</div>
</div>
</div>
我有下面的TypeScript代码。但是我无法连接到signalR。
var connection = new signalR.HubConnectionBuilder().withUrl("/CovidHub").build();
connection.start().then(() => {
debugger;
}).catch((err) => {
alert('Error:' + err);
});
错误:TS2304: (TS) Connot find name 'signalR'
tsconfig.json:
{
"compileOnSave": true,
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es5",
"outDir": "wwwroot/js/TsConvertToJs",
"rootDir": "TypeScript"
},
"include": [
"TypeScript/**/*"
]
}
libman.json:
{
"version": "1.0",
"defaultProvider": "unpkg",`
"libraries": [`
{
"library": "@microsoft/signalr@6.0.6",
"destination": "wwwroot/microsoft/signalr/",
"files": [
"dist/browser/signalr.js",
"dist/browser/signalr.min.js"
]
}
]
}
package.json:
{
"dependencies": {
"gulp": "4.0.2",
"gulp-typescript": "5.0.1",
"typescript": "5.0.0-dev.20230131"
}
}
1条答案
按热度按时间1qczuiv01#
我已经在我的项目中安装了SignalR。我用jQuery实现了一个例子。我想用TypeScrip做同样的例子。我有如下的TypeScript代码。但是我不能连接到signalR。
根据您的描述,您的客户端似乎没有正确引用您的集线器,并抛出了该错误。根据我的调查,我认为您的以下脚本导致了该问题,因为它似乎不正确。
如果您按照官方指南中的正确步骤操作,您的脚本应该如下所示:
请确保您已完成以下步骤:
正如你可能知道SignalR都有Typescript和Javascript实现,这两个实现彼此非常不同。在这个reagards中,请确保你遵循了确切的架构和步骤。
类型脚本架构:
注:请查看我们的官方文件,了解工作样品的详细步骤.
Javascript架构:
Chat.js实现:
注:请检查我们的官方文件的详细步骤的Javascript与工作样本.