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

Подключение js файлов YII2, не могу разобраться?

День добрый. Пытаюсь подключить js файлы в модуле, использую yii2.
Структура директорий:
assets
  --css
  --js
    --controllers
       --main.js
    --lib
        --angular.min.js
    --app.js


В ModuleAssets прописано:
public $js = [
        'js/lib/angular.min.js',
        'js/app.js',
        'js/controllers/main.js',
    ];

Но подключается только app.js. Все остальные "Not Found". Если перенести например файл main.js из директории js/controllers/main.js в js/main.js то он тоже подключается нормально, аналогично с angular.min.js. Как то не хорошо все js файлы в одной директории хранить.
P.S Для всех директорий js/... я пробовал давать права 777, результат тот же.
В чем может быть проблема?
  • Вопрос задан
  • 575 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Как Вы настроили пути к файлам в ModuleAssets?
Подключили ModuleAssets в шаблоне модуля?
Возможно надо настроить
'pathMap' => [
    '@app/modules' => '@app/themes/basic/modules', // <-- !!!
],

если Вы темизировали модуль.
Или указать путь с ресурсам через
public $sourcePath = '@app/themes/basic/modules';

p.s. Дело не в правах доступа. На директорию 0755 и на файл 0644 вполне достаточно. И файлы должны лежать в модуле, на не в web/assets
Ответ написан
Комментировать
@alkul93 Автор вопроса
Или указать путь с ресурсам через

Спасибо за развернутый ответ, вы меня натолкнули на мысль, у меня advanced версия, поэтмоу полный путь к js файлам у меня такой:
/backend/modules/mymodule/assets/js/
А в переменной $sourcePath вот такой путь:
public $sourcePath = '@app/modules/mymodule/assets';

Возможно для advanced версии, для backend части нужно другой путь прописать?
Что то типа
public $sourcePath = '@app/backend/modules/mymodule/assets';

( это пример, так тоже не работает )
Что то не могу найти в документации, может сталкивались?
Ответ написан
Ваш ответ на вопрос

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

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