Yii2从js脚本的页面上添加来自供应商文件夹的图像、css、js文件


Yii2 add image,css,js files from vendor folder on page from js script

我试图创建用于编辑图片的库。我有主要的js文件,包括所有其他的js,css和图像文件。例如,我使用了:

$.getScript(site_url + '/vendor/first_folder/second_folder/assets/js/script.js');

如果我要求将@webroot更改为@vendor,我在AppAsset.php上阅读了web集的路径。。在扩展配置方面,我认为这是错误的。我创建了我的MyAsset.php,并在那里设置了这样的配置:

namespace app'vendor'first_folder'second_folder;
use yii'web'AssetBundle;
class EdikEditorAsset extends AssetBundle {
    public $sourcePath = '@vendor/first_folder/second_folder/assets/';
    public $css = [
         'css/main.css'
    ];
    public $js = [      
        'js/jquery.colorbox-min.js',      
        'js/main.js'        
    ];   
}

但我不能从我的扩展名中包含其他js、css和图像文件,因为所有的js、css和图像都是从web文件夹开始包含的,我不知道如何做到这一点。我可以更改哪些内容,包括供应商文件夹中的js、css和图像文件?

p.S。我试图在js中使用不同的路径来更改这一部分,但没有一个成功,所以我认为问题不在这里:

$.getScript(site_url + '/vendor/first_folder/second_folder/assets/js/script.js);

供应商文件夹无法通过web访问。一种解决方案是将供应商文件夹中的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',
  ];
}