Хорошо, он вещь.Я использую curl.js для моего загрузчика AMD, но мне не нравится «втиснуть», потому что он должен быть запущен на Unix, а я занимаюсь разработкой на Windows.Таким образом, имеется в виду адаптер r.js для nodeJS из библиотеки RequireJS, потому что узел уже имеет двоичный файл для Windows.
Теперь jQuery в текущей версии (1.6.4) не является допустимым модулем AMD (в версии 1.7)и есть зависимости в компонентах jQueryUI, поэтому мне пришлось подделать так:
curl( [js!Core/jquery.js] )
.then( function() {
define('jquery', function() { return jQuery; });
})
Мое приложение доволен этим.Однако использование r.js (версия 0.26.0) завершается с ошибкой со следующей ошибкой:
Tracing dependencies for: boot
function (){return jQuery}
node.js:207
throw e; // process.nextTick error, or 'error' event on first tick
^
ReferenceError: jQuery is not defined
at eval at <anonymous> (r.js:7468:30)
at main (r.js:770:33)
at callDefMain (r.js:840:18)
Это мой app.build.js
({
appDir: '../',
baseUrl: 'Scripts/',
paths: {
'link': '../../../Lib/@Javascript Libs/curl.js/src/curl/plugin/link.js'
},
dir: 'built',
optimize: 'none',
modules: [
{ name: 'boot' }
]
})
А вот и полный boot.js для справки (coffeescript):
require([
'link!styles/main.css'
'js!Core/jquery.js!order'
'js!Core/underscore.js!order'
'js!Core/backbone.js!order'
]).then ->
define 'jquery', -> jQuery
.next(['Router/MainRouter'])
.then (MainRouter) ->
new MainRouter()
Backbone.history.navigate('home') unless Backbone.history.start(
pushState: false
)
Заранее благодарю за любой намек, где может быть подвох ...