Я пытаюсь использовать Меньше с моим приложением 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, но где мне нужно настроить конфигурацию для преобразования меньшего количества файлов?
Спасибо заранее!
Что я только что сделал в своем проекте:
Конфигурационный файл 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.
установите меньше конвертера: использование на стороне сервера и в командной строке
http://lesscss.org/usage/
и убедитесь, что команда доступна как lessc из любого места, т. е. добавлено в PATH
Чтобы установить компилятор 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 глобально.