В моём проекте есть модуль который требует backbone, который в свою очередь требует underscore,jquery. Я использую сбощик gulp и модуль для него gulp-requirejs.
вот мой таск
/*********************************
task for js with require js
*********************************/
gulp.task('js',['cRqJs','mReq']);
//marge js files
gulp.task('cRqJs',function(){
rjs({
name: 'main',
baseUrl:'./js/',
out:'main.js',
paths:{
'jquery':'vendor/jquery/dist/jquery.min',
'backbone':'vendor/backbone/backbone',
'underscore':'vendor/underscore/underscore-min',
'handlebars':'vendor/handlebars/handlebars.amd.min'
}
})
.pipe(connect.reload())
.pipe(gulp.dest('app/js/'));
})
//task for minify js file
gulp.task('jsmin',function(){
rjs({
name: 'main',
baseUrl:'./js/',
out:'main.js',
paths:{
'jquery':'vendor/jquery/dist/jquery.min',
'backbone':'vendor/backbone/backbone',
'underscore':'vendor/underscore/underscore-min',
'handlebars':'vendor/handlebars/handlebars.min'
}
})
.pipe(jsmin())
.pipe(gulp.dest('app/js/'));
})
//replace require js
gulp.task('mReq',function(){
gulp.src('js/vendor/require/build/require.min.js')
.pipe(gulp.dest('app/js/vendor/'));
})
В итоге у меня получаеться один файл в ктором есть все нужные библиотеки и мои модули, и handlbars там тоже есть. Но почему-то в window обьекта шаблонизатора нету. Не могу понять почуму(
Может нужно его как-то подругому подключать?
вот файл main.js
require(['views/app.js'],function(AppView){
//подключаем свой собственный модуль
new AppView;
});
Он подключает вот этот модуль
define(['backbone','handlebars'],function(Backbone){
var App = Backbone.View.extend({
initialize:function(){
console.log('Hello!');
},
});
return App;
});
Сам модуль в зависимостях говорит что нужен handlebars и requirejs его подключает, он есть в файле, а в window нет..