有没有人让SystemJS和SignalR一起工作?我一直在尝试使用SystemJS (来自jspm)来加载SignalR,但无论我做什么,异步加载程序总是会出现竞争情况。大约一半的加载时间,在我的初始化代码运行时,SignalR并没有加载。
System.config({
baseURL: '/Scripts',
map: {
'jquery': '/bundles/jquery',
'jquery.ui.widget': 'jquery-ui-1.10.4.js',
},
meta: {
'/signalr/hubs': {
deps: ['jquery.signalR-2.2.0.min.js']
}
}
});
Promise.all([
System.import('jQuery.FileUpload/jquery.fileupload.js'),
System.import('knockout-3.1.0.debug.js'),
System.import('/signalr/hubs')
])
.then(function (libs, gg) {
var ko = libs[1];
//My init code
var chat = $.connection.jobProgress;
// Throws '$.connection is undefined' about half the time
})发布于 2016-06-13 17:45:53
尝试使用signalr包配置。
System.config({
baseURL: 'Scripts',
map: {
"signalr-jquery": "Scripts/jquery.signalR-2.2.0",
"signalr": "signalr",
"jquery": "/bundles/jquery" //I would pull it from jspm also
},
meta: {
"jquery": {
"format": "cjs"
},
"signalr-jquery": {
"format": "global",
"deps": ["jquery"]
}
},
packages: {
"signalr": {
"format": "global",
"defaultExtension": false,
"meta": {
"hubs": {
"format": "global",
"deps": ["signalr-jquery"]
}
}
}
}
})和导入集线器
System.import('signalr/hubs').then(function(hubs) {
})发布于 2016-08-10 03:20:59
我可以使用以下配置加载它:
System.config({
map: {
'jquery': 'node_modules/jquery/dist/jquery.js',
'signalrJquery': 'jquery.signalR-2.2.0.js',
'signalrHubs': 'jquery.signalR-2.2.0.Hubs.js'
},
meta: {
"jquery-1.10.2.js": { exports: "$" },
signalrJquery: {exports: "$"},
signalrHubs: {
deps: ['jquery-1.10.2.js', 'signalrJquery'],
exports: "$"
}
});然后像这样获取它:
import * as $ from 'signalrHubs';或
var $ = require('signalrHubs');请注意,依赖项中的jquery版本是signalr所依赖的版本。如果需要,网站的其余部分可以使用较新的版本。
https://stackoverflow.com/questions/37751686
复制相似问题