簡體   English   中英

如何在Yii項目中組織JavaScript

[英]How to organize JavaScript in Yii project

我使用Yii編寫項目,希望收到有關如何組織JavaScript的建議,我考慮了以下幾種選擇:

  1. 將所有代碼放在一個文件(app.js)中,為每個功能模塊創建模塊並將其附加到項目的每一頁。但是問題是並不是所有頁面都需要所有功能,因此在這種情況下,我必須加載無用的代碼,很難在數百行之間進行導航。(我知道我可以在單獨的文件中編寫然后全部“編譯”,但不能解決多余代碼的問題)
  2. 為每個功能創建單獨的文件並通過Yii管理加載(僅將必要的文件附加到頁面)。 但是某些功能只需要幾行代碼,為此創建文件似乎是不合理的。

您可以混合使用資產和布局

在your_app \\ views \\ layouts \\ your_asset_filename.php中存儲的適當布局中,您可以注冊特定資產

  use your_app\assets\YourAsset;

  //use common\models\UserParam;
  //use common\models\LandScope;

  /* @var $this \yii\web\View */
  /* @var $content string */

  YourAssest::register($this);

  ?>

在your_app \\ asset中,您可以配置所需的js文件

class YourAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';

    public $css = [
        'css/site.css',
        ........
    ];
    public $js = [
        'your_js1.js',
        'your_js2.js',
        ....
    ];
    public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

最后一個控制器/動作,您可以設置每個渲染所需的布局

public function actionMyAction()
{
   $this->layout = 'your_asset_filename';

   ... 
   return $this->render('your_view',[ ....]);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM