2014-09-15 1 views
1

Yii2 응용 프로그램에서 Less를 사용하려고합니다. 고급 응용 프로그램을 사용하며 yii2로 빌드 된 자산 변환기를 사용하여 frontend/web/css에서 내 .less 파일을 변환하고 싶습니다.Yii2 Asset Convertor

'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 tool을 어떻게 설치할 수 있습니까? 내 yii 콘솔 부트 스트랩 파일이있는 루트 폴더에 1.7.5.js를 적게 넣었지만 적은 파일을 변환하도록 구성을 조정해야하는 곳은 어디입니까?

미리 Thx!

답변

0

내 프로젝트에 그랬던 것 무엇 :

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 

그게 전부입니다. 그것은 자식이 다른 컴퓨터를 당긴 후에 잘 작동합니다.

물론 nodejs 자체는 전 세계적으로 설치되어야합니다.

중요 사항. 이것은 VCS에 nodejs 패키지를 유지하는 특별한 방법입니다 (그렇게 할 이유가 있음에도 불구하고). 대신에 package.json의 사용을 고려하십시오.

0

적은 변환기를 설치 : 서버 측 및 명령 줄 사용 http://lesscss.org/usage/

를 어디서나 PATH에 추가하여 예로부터 lessc로 확인 명령을 사용할 수 있도록