Ich habe in den letzten Tagen mit Require.JS und SignalR gearbeitet und mir ist aufgefallen, dass die SignalR/Hubs manchmal geladen werden, wenn ich meine Site lade, obwohl meine require.js Konfiguration erscheint richtig liegen.Require.js + SignalR
Hier ist meine config:
require.config({
paths: {
jQuery: 'libs/jquery/jquery',
Underscore: 'libs/underscore/underscore',
Backbone: 'libs/backbone/backbone',
Marionette: 'libs/backbone/backbone.marionette'
}
});
require([
'app',
'order!libs/jquery/jquery-min',
'order!libs/jQueryUI/jquery-ui-1.8.11.min',
'order!libs/jqGrid/grid.locale-en',
'order!libs/jqGrid/jquery.jqGrid.min',
'order!libs/underscore/underscore-min',
'order!libs/backbone/backbone-min',
'order!Marionette',
'order!libs/jquery.signalR-0.5.1',
'order!noext!signalr/hubs'
], function (app) {
app.initialize();
});
Wenn diese ich auf Linie bekommen einen Fehler fehl 16 der Naben-Datei. Es sagt .
Auf V2 aktualisiert und meine Konfiguration geändert.
var fRequire = require.config({
paths: {
jQuery: 'libs/jquery/jquery',
Underscore: 'libs/underscore/underscore',
Backbone: 'libs/backbone/backbone',
Marionette: 'libs/backbone/backbone.marionette',
sigr: 'libs/jquery.signalR-0.5.1'
},
shims: {
"libs/jquery.signalR-0.5.1": {
deps: ["jQuery"]
},
"libs/jqGrid/jquery.jqGrid.min": {
deps: ["jQuery"]
},
"libs/jquery/jquery-ui-1.8.19.min": {
deps: ["jQuery"]
},
"libs/jqGrid/grid.locale-en": {
deps: ["jQuery"]
},
"noext!signalr/hubs": {
deps: ["sigr"]
}
}
});
fRequire([
'app'
], function (app) {
app.initialize();
});
Jetzt benötigen wird an den falschen Stellen für jquery suchen, zu unterstreichen, etc ... trotz meiner es speziell wo sagen zu suchen. Vielleicht hat das etwas damit zu tun, dass ich einem alten Tutorial folge, als ich mit v1 konfiguriert habe.
http://backbonetutorials.com/organizing-backbone-using-modules/
FINAL UPDATE:
Hier ist meine Arbeits Konfig. Hoffentlich hilft es Neulingen wie mir, dieses Problem zu bestehen.
Es war obligatorisch, dass ich jquery in der Funktion laden (domready, app, $). Andernfalls kann der Signalgeber melden, dass er nicht gefunden werden kann.
Das sollte "Shim" anstelle von "Shims" sagen. – Sean