2016-09-23 20 views
0

我想發佈一些Asstes。例如anower.css donwloaded由涼亭或作曲家,但我不想複製不需要的文件到網絡asstes文件夾。 我已經使用發佈選項,但仍然有一些文件夾被複制,但沒有內容。Yii2資產排除文件,發佈目錄

的sourcefolder看起來是這樣的:

/animate.css 
./bower.json 
./source 
./source/bouncing_exits 
./source/bouncing_exits/bounceOutLeft.css 
./source/bouncing_exits/bounceOutDown.css 
./source/bouncing_exits/bounceOutUp.css 
./source/bouncing_exits/bounceOutRight.css 
./source/bouncing_exits/bounceOut.css 
./source/fading_exits 
./source/fading_exits/fadeOutRight.css 
./source/fading_exits/fadeOutLeft.css 
./source/fading_exits/fadeOutDown.css 
./source/fading_exits/fadeOutUp.css 
./source/fading_exits/fadeOutLeftBig.css 
./source/fading_exits/fadeOut.css 
./source/fading_exits/fadeOutRightBig.css 
./source/fading_exits/fadeOutDownBig.css 
./source/fading_exits/fadeOutUpBig.css 
./source/fading_entrances 
./source/fading_entrances/fadeInRight.css 
./source/fading_entrances/fadeInUp.css 
... some more 
./animate-config.json 
./package.json 
./gulpfile.js 
./animate.min.css 
./LICENSE 

資產包看起來像這樣

namespace frontend\assets; 

use yii\web\AssetBundle; 

/** 
* Main frontend application asset bundle. 
*/ 
class AnimateAsset extends AssetBundle 
{ 
    /** 
    * @inherit 
    */ 
    public $sourcePath = '@bower/animate.css'; 

    /** 
    * @inherit 
    */ 
    public $css = [ 
     'animate.min.css', 
    ]; 

    /** 
    * @inherit 
    */ 
    public $js = [ 
    ]; 

    /** 
    * @inherit 
    */ 
    public $depends = [ 
     'yii\web\YiiAsset', 
     'yii\bootstrap\BootstrapAsset', 
     'yii\bootstrap\BootstrapPluginAsset', 
    ]; 


     public $publishOptions = [ 
//  'forceCopy' => YII_DEBUG, 
     'only' => [ 
      'animate.min.css', 
     ], 
     'exept' => [ 
      'source/*', 
      'source/', 
      'source', 
     ], 
    ]; 
} 

和finaly結果在網絡資源文件夾看起來像這樣

./source 
./source/bouncing_exits 
./source/fading_exits 
./source/fading_entrances 
./source/lightspeed 
./source/zooming_entrances 
./source/zooming_exits 
./source/bouncing_entrances 
./source/rotating_entrances 
./source/attention_seekers 
./source/sliding_exits 
./source/rotating_exits 
./source/flippers 
./source/specials 
./source/sliding_entrances 
./animate.min.css 

空文件夾仍然被複制? 我該如何預防?

+0

你應該簡單地嘗試'except',而不是'exept' – soju

+0

THX很多!這工作非常好;) –

回答

0

THX燒酒,這是一個錯字:

與發佈選項下面它的工作原理

public $publishOptions = [ 
//  'forceCopy' => YII_DEBUG, 
     'only' => [ 
      'animate.min.css', 
     ], 
     'except' => [ 
      'source', 
     ], 
    ];