Я искал напрасно во всем Google о том, как загрузить марионеткаv3-pre.4 - последняя версия до сих пор (июль 2016) - с RequireJS.Каков правильный способ загрузки Marionette (v3) с RequireJS?
Связанная версия библиотеки, кажется, сломан для RequireJS так что я должен вручную включить «backbone.babysitter» и «backbone.radio», которые необходимы для данной версии марионеток.
По: versioneye.com мне нужно:
- "backbone.babysitter" 1.0.0-pre.1и
- "backbone.radio" * 2.0.0-pre.1 *
Поэтому я попытался установить м с Бауэр: установить
станового backbone.babysitter
Он вернулся:
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
Я выбрал 2-ую так:
? Answer !2
Он вернулся:
bower resolution Saved backbone.babysitter#1.0.0-pre.1 as resolution
Я сделал то же самое с backbone.radio:
дачей установки backbone.radio
Возвращается:
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
Выбрано:
? Ответ 2
Возвращается:
bower resolution Saved backbone.radio#2.0.0-pre.1 as resolution
Все вроде бы нормально, но когда я проверил версию для этих двух библиотек в каждом это «bower.json» файл, я узнал, что:
основа.няня находится по адресу:
"name": "backbone.babysitter",
"version": "0.1.11"
и backbone.radio:
"name": "backbone.radio",
"version": "1.0.4"
Где я ошибся?
Это мой 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"
}
}
Это моя шайба файл:
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'
}
}
})
И это, как я загрузить модули с RequireJS в моем app.js файл :
define([
'jquery',
'underscore',
'backbone',
'marionette',
'router'
], function ($, _, Backbone, Marionette, Router) {
'use strict'
var init = function() {
Router.init()
}
return {
init: init
}
})
Aaand t его это ошибка, я получаю в моем браузере:
И это один через несколько секунд:
Вы пробовали [Browserify] (http://browserify.org/)? Это сделает его намного менее болезненным. – Tholle
Browserify - мой любимый, но я должен использовать RequireJS из-за некоторых административных причин. Спасибо за подсказку! –