Задать вопрос

Как построить работу Yii1+Grunt+Less/JS+Packages?

Здравствуйте!
Есть проект на Yii1. Разные страницы и модули (backend/frontend) требуют определенных js-плагинов и css-файлов. Организовано все через packages примерно так:
// main.php
'clientScript'=>array(
	'packages'=>путь_до_файла,
)
// —————————————— //

// package.php
$path = 'application.src';
return array(
	'jquery'=>array(
		'basePath'=>$path,
		'js'=>array('js/vendors/jquery.min.js'),
	),
	'slider' => array(
		'basePath'=>$path,
		'js'=>array('js/vendors/jquery.jcarousel.min.js','js/slider.js'),
		'depends' => array('jquery'),
		),
	'backend' => array(
		'baseUrl'=>$path,
		'js'=>array('js/scripts.js'),
		'css'=>array('css/s-3.0.0.css'),
		'depends' => array('jquery'),
		),
	'frontend' => array(
		'basePath'=>$path,
		'js'=>array('js/vendors/modernizr-2.6.2.min.js','js/vendors/jquery.scrollto-1.4.3.1-min.js','js/scripts.js'),
		'css'=>array('css/build.css'),
		'depends' => array('jquery'),
		),

// где нужно, регистрирую пакет и понеслась
Yii::app()->clientScript->registerPackage('slider');

);

Изучаю грант и возникают вопросы:
1. Грант позволяет собрать все js-библиотеки в одну и единожды подключить в фронтенд. Но как быть с другими модулями сайта, для которых могут понадобится совершенно другие js? Забить и подключать все везде (натыкаясь на конфликты) или описывать в грантфайле? (хотелось бы решение поуниверсальнее для следующих проектов).
2. Помимо js, многие плагины имеют собственные стили, картинки, как быть с этим, описывать в грантфайле пути досконально?
3. Куда все-таки настроить складывание финальных файлов, учитывая assetmanager yii? Например, в этом вопросе я так и нашел ответ.

Буду благодарен за лучшие бест-практики.
  • Вопрос задан
  • 2428 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
лучше gulp-ом собирайте. И да, assetManager Yii бесполезен. Совсем. bower + gulp.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы