Вход

Yii2 Подключить скрипты в head

Yii2 Подключить скрипты в head

Как перенести подключение js файлов из конца html документа в начало. В данной статье мы рассмотрим как в yii2 подключить скрипты в head.


По умолчанию все js файлы подключаются после закрывающегося тега html, но что если нам необходимо обратиться к функции которая ещё не успела подключиться? (например js код в view использует jQuery функцию). Решением данной проблемы может быть перенос подключаемых js файлов из нижней части нашего документа в тег head.
  

Как подключить js файлы в теге head

Необходимо отредактировать файл подключение стилей и скриптов для соответствующего шаблона. Для этого переходим в папку assets и выбираем нужный нам файл (в моём случае он будет называться MyAsset)

Строка:

1
public $jsOptions = ['position' => \yii\web\View::POS_HEAD];

перемещает подключение всех скриптов сайта (шаблона) из нижней позиции (после закрывающего тега html) в тег head. После чего пропадают ошибки при вызове функций jQuery в файлах вида.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MyAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/style.css',
    ];
    public $js = [
        'js/script.js',
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
 
    public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
}

8 февраля 2018 /

7558 Views /

7 комментариев
Ilya Web developer
Author

«Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.»Martin Golding