Yii2 Asset Convertor

Я пытаюсь использовать Меньше с моим приложением Yii2.
Я использую расширенное приложение и хотел бы конвертировать мои файлы .less в frontend / web / css, используя встроенный конвертер ресурсов с помощью yii2.

'assetManager' => [
'bundles' => [
'yii\bootstrap\BootstrapAsset' => [
'css' => []
],

],
'converter' => [
'class' => 'yii\web\AssetConverter',
'commands' => [
'less' => ['css', 'lessc {from} {to} --no-color'],

],
],
],

Выше в моем файле конфигурации main.php.

    class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.less',
'css/superhero.less',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}

Выше приведен файл appAsset.

но как я могу установить меньший инструмент в моей установке yii2? Я поместил файл less-1.7.5.js в корневую папку, где находится файл начальной загрузки консоли yii, но где мне нужно настроить конфигурацию для преобразования меньшего количества файлов?

Спасибо заранее!

1

Решение

Что я только что сделал в своем проекте:

Конфигурационный файл main.php:

    'assetManager' => [
'converter' => [
'class' => 'yii\web\AssetConverter',
'commands' => [
'less' => ['css', 'nodejs "' . PROTECTED_BASE_PATH .
'/node_modules/less/bin/lessc" {from} {to} --no-color'],
],
],
],

Командная строка (в подкаталоге, представленном выше PROTECTED_BASE_PATH):

$ npm install less

Это все. Работает нормально после git pull на другой машине.

Конечно, сама nodejs должна быть установлена ​​глобально.

Важная заметка. Это необычный способ сохранить пакеты nodejs в VCS (хотя у меня есть причина для этого). Вместо этого рассмотрите использование package.json.

0

Другие решения

установите меньше конвертера: использование на стороне сервера и в командной строке
http://lesscss.org/usage/

и убедитесь, что команда доступна как lessc из любого места, т. е. добавлено в PATH

0

Чтобы установить компилятор less (lessc) в свой проект, используйте команду composer:

composer require bower-asset/less

Затем добавьте в конфиг:

'assetManager' => [
'converter' => [
'class' => 'yii\web\AssetConverter',
'commands' => [
'less' => ['css', '@bower/less/bin/lessc {from} {to} --no-color'],
],
],
],

Этот конфиг полезен для общего хостинга, когда у вас нет привилегий root и вы не можете установить lessc глобально.

0
По вопросам рекламы [email protected]