2015-10-14 14 views
5

Đây là mã tài sản của tôi ..YII2 gọi mã jquery-ui trước bootstrap.js

public $js = [ 
    'js/jquery-ui.min.js', 
    'js/app.min.js', 

]; 

Tôi có một số vật dụng được sử dụng trong các tập tin xem ... và đây là thứ tự của các file js. Những gì tôi muốn là gọi jquery-ui.js trước khi bootstrap.js .. Làm thế nào để làm điều đó ??

enter image description here

Trả lời

3

Đặt jQuery UI sau khi Bootstrap không thực hiện bất kỳ ý nghĩa vì chúng là không phụ thuộc vào nhau ở tất cả. Nhưng để bao gồm gói trước một gói khác, bạn nên thêm phụ thuộc vào gói có liên quan.

Đối với gói tài sản tùy chỉnh bạn chỉ có thể viết những dòng này:

$depends = [ 
    // Write classes of dependent asset bundles here, for example: 
    'yii\jui\JuiAsset', 
]; 

Nhưng vì Bootstrap được xây dựng-in tài sản, bạn không thể sửa đổi nó theo cách đó. Thay vào đó bạn có thể đặt nó trên toàn cầu thông qua cấu hình của Asset Manager:

return [ 
    // ... 
    'components' => [ 
     'assetManager' => [ 
      'bundles' => [ 
       'yii\bootstrap\BootstrapAsset' => [ 
        'depends' => [     
         'yii\jui\JuiAsset', 
        ]; 
       ], 
      ], 
     ], 
    ], 
]; 

Hoặc chỉ cần đặt phụ thuộc ở một nơi cụ thể trước khi render xem:

Yii::$app->assetManager->bundles['yii\bootstrap\BootstrapAsset'] = [ 
    'depends' => [     
     'yii\jui\JuiAsset', 
    ]; 
], 

tài liệu chính thức:

Các vấn đề liên quan