ich vergeblich ganzes Google gesucht, wie Mariov3-pre.4 laden - bis jetzt neueste Version (Juli 2016) - mit RequireJS.Was ist der richtige Weg Marionette (v3) mit RequireJS zu laden?
Die mitgelieferte Version der Bibliothek scheint für RequireJS gebrochen werden so muss ich manuell „backbone.babysitter“ und „backbone.radio“, die für diese Version des Puppen erforderlich sind, umfassen.
Nach: versioneye.com ich brauche:
- "backbone.babysitter" 1.0.0-pre.1und
- "backbone.radio" * 2.0.0-pre.1 *
Also habe ich versucht, die Installation m mit Bower:
Bower installieren backbone.babysitter
Es zurückgegeben:
Unable to find a suitable version for backbone.babysitter, please choose one by typing one of the numbers below:
1) backbone.babysitter#^0.1.12 which resolved to 0.1.12
2) backbone.babysitter#1.0.0-pre.1 which resolved to 1.0.0-pre.1 and is required by marionette#3.0.0-pre.4
Prefix the choice with ! to persist it to bower.json
wähle ich die 2. ein wie folgt aus:
? Answer !2
Er kehrte:
bower resolution Saved backbone.babysitter#1.0.0-pre.1 as resolution
Ich habe genau das gleiche mit backbone.radio:
Bower installieren backbone.radio
Retour:
Unable to find a suitable version for backbone.radio, please choose one by typing one of the numbers below:
1) backbone.radio#^1.0.5 which resolved to 1.0.5
2) backbone.radio#2.0.0-pre.1 which resolved to 2.0.0-pre.1 and is required by marionette#3.0.0-pre.4
Prefix the choice with ! to persist it to bower.json
Ausgewählt:
? Antwort 2
Retour:
bower resolution Saved backbone.radio#2.0.0-pre.1 as resolution
Alles schien in Ordnung zu sein, aber wenn ich überprüft die Version für diese beiden Bibliotheken in jeder ist „bower.json“ Datei, fand ich heraus, dass:
Rückgrat.Babysitter ist:
"name": "backbone.babysitter",
"version": "0.1.11"
und backbone.radio:
"name": "backbone.radio",
"version": "1.0.4"
Wo habe ich falsch gemacht?
Das ist mein bower.json:
{
"name": "Example App",
"authors": "Consta Gorgan",
"dependencies": {
"backbone": "~1.2.3",
"backbone.radio": "~2.0.0",
"backbone.babysitter": "~1.0.0",
"marionette": "~3.0.0",
"requirejs": "~2.1.15",
"requirejs-plugins": "~1.0.2"
},
"resolutions": {
"backbone.radio": "2.0.0-pre.1",
"backbone.babysitter": "1.0.0-pre.1"
}
}
Das ist mein Shim-Datei:
requirejs.config({
paths: {
jquery: '../bower_components/jquery/dist/jquery',
underscore: '../bower_components/underscore/underscore',
backbone: '../bower_components/backbone/backbone',
'backbone.radio': '../bower_components/backbone.radio/build/backbone.radio',
'backbone.babysitter': '../bower_components/backbone.babysitter/src/build/backbone.babysitter',
marionette: '../bower_components/marionette/lib/core/backbone.marionette'
},
shim: {
jquery: {
exports: '$'
},
backbone: {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
},
underscore: {
exports: '_'
},
marionette: {
deps: [ 'jquery', 'underscore', 'backbone', 'backbone.radio', 'backbone.babysitter' ],
exports: 'Marionette'
}
}
})
Und das ist, wie ich Module mit RequireJS laden in meiner app.js Datei :
define([
'jquery',
'underscore',
'backbone',
'marionette',
'router'
], function ($, _, Backbone, Marionette, Router) {
'use strict'
var init = function() {
Router.init()
}
return {
init: init
}
})
Aaand t ies ist der Fehler, den ich in meinem Browser immer halten:
Und dieses nach ein paar Sekunden:
Haben Sie versucht [Browserify] (http://browserify.org/)? Wird es viel weniger schmerzhaft machen. – Tholle
Browserify ist mein Favorit, aber ich muss RequireJS aus einigen administrativen Gründen verwenden. Danke für den Tipp tho! –