VIKINGVyksa
@VIKINGVyksa
front-end developer

Проблема с handlebars, как подключить?

В моём проекте есть модуль который требует 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 нет..
  • Вопрос задан
  • 649 просмотров
Решения вопроса 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Handlebars же использует модульную структуру если есть и не добавляет себя в window.
Подключайте корректно:

define(['backbone','handlebars'],function(Backbone, ?){ // <- тут пропущено его подключение
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы