2015-06-04 1 views
0

Это мой код Assetbundle.Yii2 - добавление внешних js и css в AssetBundle, показывающее 404 не найдена ошибка

public $basePath = '@webroot'; 
    public $baseUrl = '@web'; 
    public $css = [ 
     'css/site.css', 
     'css/normalize.css', 
     'chosen/chosen.css', 

    ]; 
    public $js = [ 
     'js/classie.js', 
    ]; 

, когда я использую этот код и я получаю файл представления, как это, а также получать 404 не найдена ошибка:

> http://site.loc/frontend/web/chosen/chosen.css 
    > http://site.loc/frontend/web/css/css/normalize.css 
    > http://kometonline.loc/frontend/web/js/classie.js 

И в то же время site.css работает нормально. Как исправить эту ошибку?

ответ

0

Это просто означает, что файлы по этому пути не существуют.

Переместить их на правильный путь или изменить пути в комплекте активов.

+0

Но файл существует только в этом месте. Есть ли разрешение на файл или я хочу добавить код или что? – Kartz

0

Это показывает 404, потому что ваш

$baseUrl = '@web' 

указывает на корневой каталог. Вы должны изменить пути вашего CSS и JS файлов

public $basePath = '@webroot'; 
    public $baseUrl = '@web'; 
    public $css = [ 
     'frontend/web/css/site.css', 
     'frontend/web/css/css/normalize.css', 
     'frontend/web/chosen/chosen.css', 

]; 
public $js = [ 
    'http://kometonline.loc/frontend/web/js/classie.js', 
]; 

Или вы можете переместить CSS, JS и выбранную папку в корневой директории и не изменить путь.

В моем случае я создал папку активов в корневом каталоге и поместить CSS, JS и т.д. папки внутри:

public $basePath = '@webroot'; 
public $baseUrl = '@web'; 
public $css = [ 
    'assets/css/main.css', 
    'assets/css/custom.css', 
    'assets/css/responsive.css', 
]; 
public $js = [ 
    'assets/js/bootstrap.min.js', 

]; 
public $depends = [ 
    'yii\web\YiiAsset', 

]; 

Если вы хотите переопределить и использовать принимали библиотеки по Google и добавить метки к вашему CSS и js-файлы добавляют это в вашу конфигурацию. Для

Расширенный шаблон ./frontend/config/main.php в компонентах

основной шаблон ./config/web.php в компонентах

'components' => [ 
    'assetManager' => [ 
     'appendTimestamp' => true, //adds timestamp to assets 
     'assetMap' => [ 
      'jquery.js' => '//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js', //Selecting jquery 
     ], 
    ], 

],

Больше информации http://www.yiiframework.com/doc-2.0/guide-structure-assets.html

Смежные вопросы