Подтвердить что ты не робот

Пакеты активов в yii2 генерируют пустые файлы

Ассортимент активов генерирует пустые файлы JavaScript и CSS

namespace frontend\assets;

return [

    'bundles' => [
        'frontend\assets\AppAsset',

    ],

    'targets' => [
        'frontend\assets\AppAsset' => [
            'basePath' => 'e:/path/yii2.loc/www',
            'baseUrl' => '',
            'js' => 'js/{ts}.js',
            'css' => 'css/{ts}.css',
        ],
    ],

    'assetManager' => [
        'basePath' => 'e:/path/yii2.loc/www/assets',
        'baseUrl' => '',
    ],
];

config.php

return [

    'bundles' => [
        'frontend\assets\AppAsset',
    ],

    'targets' => [
        'frontend\assets\AppAsset' => [
            'basePath' => 'e:/path/yii2.loc/www',
            'baseUrl' => '',
            'js' => 'cache/{ts}.js',
            'css' => 'cache/{ts}.css',
        ],
    ],

    'assetManager' => [
        'basePath' => 'e:/path/yii2.loc/www/assets',
        'baseUrl' => '',
    ],
];

Затем в консоли

yii asset e:\path\config.php e:\path\compressed.php
//compresed.php it result file with name of compressed files

И в config

'assetManager' => [
    'bundles' => require dirname(__DIR__) . '/assets/compressed.php',
],

Файлы CSS и JavaScript находятся в каталоге:

e:/path/yii2.loc/www/css

и

е:/path/yii2.loc/www/js

Пакет сгенерирует пустые контейнеры:

e:/path/yii2.loc/www/cache/css и e:/path/yii2.loc/www/cache/js

Что я сделал не так?

4b9b3361

Ответ 1

Внутри вашего config.php попробуйте настроить компонент "assetManager" как следующие LOC:

'components' => [
    'assetManager' => [
        'class' => 'yii\web\AssetManager', 
        'basePath' => 'YOUR_BASE_PATH' 
    ],  
],

Ответ 2

Вы должны установить псевдонимы @web и @webroot, потому что этот файл будет использоваться в консольном скрипте. Затем используйте псевдонимы для установки параметров basePath и baseUrl

Проверьте для получения дополнительной информации https://www.yiiframework.com/doc/guide/2.0/en/structure-assets