Yii2 advanced app vendor .css 文件在前端和后端应用程序资产中添加

Yii2 advanced app vendor .css file add in frontend and backend app assets

在 Yii2 Advanced Application font-awesome .css 文件中添加 AppAssets

vendor/font-awesome/css/font-awesome.min.css 添加前端和后端 AppAssets

前端->资产->AppAsset.php

<?php

  namespace frontend\assets;

  use yii\web\AssetBundle;

  /**
  * Main frontend application asset bundle.
  */
  class AppAsset extends AssetBundle
  {
     public $basePath = '@webroot';
     public $baseUrl = '@web';
     public $css = [
         'css/style.css',
     ];
     public $js = [
         'js/jquery.min.js',
     ];
     public $depends = [
         'yii\web\YiiAsset',
         //'yii\bootstrap\BootstrapAsset',
     ];
  }
?>

后端->资产->AppAsset.php

<?php

  namespace backend\assets;

  use yii\web\AssetBundle;

  /**
  * Main backend application asset bundle.
  */
  class AppAsset extends AssetBundle
  {
     public $basePath = '@webroot';
     public $baseUrl = '@web';
     public $css = [
         'css/style.css',
     ];
     public $js = [
         'js/jquery.min.js',
     ];
     public $depends = [
         'yii\web\YiiAsset',
         //'yii\bootstrap\BootstrapAsset',
     ];
  }
?>

感谢进阶.....

Vendor 文件夹无法通过网络访问。一种解决方案是将 vendor 文件夹中的 css、js、img 符号链接到 web 文件夹中。然后包括那个。或者这是 Yii 的方法:

例如:

<?php

namespace app\assets;

use yii\web\AssetBundle;

class BootstrapAsset extends AssetBundle {

//set the source path using @vendor or another alias like @bower here
  public $sourcePath = '@bower/bootstrap/dist';

//include css and js relative to the source path set above
  public $css = [
    'css/bootstrap.css',
  ];
  public $js = [
    'js/bootstrap.min.js',
  ];
}

或者试试这个

public $sourcePath = '@vendor';
public $css = [
    'font-awesome/css/font-awesome.min.css',

您可以创建新的资产文件并将其包含在您的布局中

class FontAwesomeAsset extends \yii\web\AssetBundle
{

    public $sourcePath = '@vendor/font-awesome/';
    public $css = [
        'css/font-awesome.min.css',
    ];
    public $depends = [
        'yii\web\YiiAsset',
    ];

}

And then call it in your Layout file (commonly views/layout/main.php)

frontend\assets\FontAwesomeAsset::register($this);

首先创建新资产文件[vendorName]资产代码:

namespace frontend\assets;

use yii\web\AssetBundle;

class [vendorName]Asset extends AssetBundle
{


    /**
     * @inheritdoc
     */
    public $sourcePath = '@vendor/path/to/you/vendor/folder';


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

    public $css = [
       'css/youFile.css',
    ];

    public $depends = [
    ];

}

下一步是将此文件添加到主要资产 $depends:

    public $depends = [
..
        'frontend\assets\[vendorName]Asset',
..
];

仅此而已