slo_nik
@slo_nik

Как подключить ресурсы yii2?

Возникла проблема с переносом сайта с yii1 на yii2, никак не получается подключить js-скрипы.
Сначала я сделал как обычно, в файл c классом, унаследованным от AssetBundle, прописал все скрипты и стили, которые я нашёл на странице. Смотрел просто через исходный код.
Попробовал запустить - стили подключились, а вот скрипты никак не хотят подключаться. Не работает ни fancybox, ни карусель(cycle2).
Примечательно то, что в старом сайте для этих плагинов ничего не подключается. Начал искать. Нашёл директорию "dev", где был файл Gruntfile.js и куча директорий, где были и js, и css, и scss и тому подобное.
С Grunt я никогда не работал. Почитал документацию и понял, если я не ошибаюсь, что grunt помогает объединить нужные скрипты и минимизировать и достаточно будет подключить сгенерированные файлы.
На сайте есть ещё отдельная директория с js скриптами, которые подключаются на странице. Если её удалить/переименовать, то на старом сайте тоже ничего не работает. Значит через эти скрипты должно всё подключаться. Открыл один из js файлов, через поиск в файле нашёл упоминание и fancybox и карусели, получается, что достаточно подключить их и всё должно работать. Но так и не смог ничего подключить.
Пробовал в новом проекте подключить Grunt(https://yii2-cookbook.readthedocs.io/structure-ass... но опять же, стили поключаются, а js не хочет работать. При этом накидало в проект кучу плагинов, которые мне не нужны.
Подскажите, как решить проблему?

P.S. Пробовал перенести директорию dev вместе с файлом Gruntfile.js и кучей остальных в новый проект. Менял пути к файлам и директориям в Gruntfile.js, но положительного результата так и не добился.
Содержимое Grunfile.js
// Обязательная обёртка
module.exports = function(grunt) {

  // Конфигурация
  grunt.initConfig({
    // Пути к файлам и папкам
    configDir: 'config',

    sassDir: 'sass',
    sassFiles: '<%= sassDir %>' + '/main.scss',
    cssDir: '../css',

    jsSourceFiles: 'js/*.js',
    jsSourcePlugins: [
      'js/plugins/*.js',
      'js/plugins/helpers/*.js',
    ],
    jsResultFile: '../js/scripts.js',

    imgDir: '../img',
    imgBaseFiles: '<%= imgDir %>' + '/base64/*.{png,jpg,gif}',

    // Pagespeed options
    pageUrl: 'https://developers.google.com',
    pageThreshold: 70,
    pageDevice: 'desktop'
  });

  // Загрузка конфигурации к задачам из отдельных файлов
  grunt.loadTasks('tasks');

  // Задача по умолчанию
  grunt.registerTask('default', ['datauri', 'datauriMobile', 'compass', 'csslint', 'autoprefixer', 'cssmin', 'jshint', 'concat', 'uglify']);
  grunt.registerTask('dev',     ['compass', 'csslint', 'autoprefixer', 'jshint', 'concat']);
  grunt.registerTask('comb',    ['compass', 'csslint', 'autoprefixer', 'cssmin', 'csscomb']);
  grunt.registerTask('test',    ['dalek']);
  grunt.registerTask('speed',   ['pagespeed']);
};
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
slo_nik
@slo_nik Автор вопроса, куратор тега Yii
Вопрос решился сам собой)))
Не знаю, что я сделал, удалил всё и натянул дизайн заново и всё заработало)))
Почему не работало так и осталось загадкой)))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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