关于前端资源发布的问题求教 [ 2.0 版本 ]
资源存在一个不可读的目录,所以用了sourcePath将资源发布在一个自定义的web可读目录,但是动态注册的资源文件,无法发布,请问应该如何处理?谢谢!
另外,依赖产生的0="backend\assets\Asset"是否可以去掉,看起来很不友好。
asceee 补充于 2018-07-20 14:24
class Asset extends AssetBundle
{
public $sourcePath = '@webroot/assets';
// public $basePath = '@webroot';
// public $baseUrl = '@web';
public $css = [
'css/vendors.css',
'vendors/css/extensions/sweetalert.css',
'vendors/css/ui/prism.min.css',
'css/app.css',
'css/core/menu/menu-types/vertical-menu.css',
'css/core/colors/palette-gradient.css',
'css/style.css'
];
public $js = [
'vendors/js/vendors.min.js',
'vendors/js/ui/prism.min.js',
'vendors/js/extensions/sweetalert.min.js',
'js/core/app-menu.js',
'js/core/app.js',
'js/main.js'
];
public $depends = [
// 'yii\web\YiiAsset',
// 'yii\bootstrap\BootstrapAsset',
];
/**
* 动态注册JS文件
*
* @param $view Object 注册对象
* @param $file String Js文件路径
*/
public static function addScript($view, $file)
{
$view->registerJsFile($file, [self::className(), 'depends' => 'backend\assets\Asset']);
}
/**
* 动态注册CSS文件
*
* @param $view Objec 注册对象
* @param $file String Css文件路径
*/
public static function addCss($view, $file)
{
$view->registerCssFile($file, [self::className(), 'depends' => 'backend\assets\Asset']);
}
public static function registerJs($view, $js)
{
$view->registerJs($js);
}
public static function registerCss($view, $css)
{
$view->registerCss($css);
}
}
asceee 补充于 2018-07-20 14:26
这个是我的资源管理
class Asset extends AssetBundle
{
public $sourcePath = '@webroot/assets';
// public $basePath = '@webroot';
// public $baseUrl = '@web';
public $css = [
'css/vendors.css',
'vendors/css/extensions/sweetalert.css',
'vendors/css/ui/prism.min.css',
'css/app.css',
'css/core/menu/menu-types/vertical-menu.css',
'css/core/colors/palette-gradient.css',
'css/style.css'
];
public $js = [
'vendors/js/vendors.min.js',
'vendors/js/ui/prism.min.js',
'vendors/js/extensions/sweetalert.min.js',
'js/core/app-menu.js',
'js/core/app.js',
'js/main.js'
];
public $depends = [
// 'yii\web\YiiAsset',
// 'yii\bootstrap\BootstrapAsset',
];
/**
* 动态注册JS文件
*
* @param $view Object 注册对象
* @param $file String Js文件路径
*/
public static function addScript($view, $file)
{
$view->registerJsFile($file, [self::className(), 'depends' => 'backend\assets\Asset']);
}
/**
* 动态注册CSS文件
*
* @param $view Objec 注册对象
* @param $file String Css文件路径
*/
public static function addCss($view, $file)
{
$view->registerCssFile($file, [self::className(), 'depends' => 'backend\assets\Asset']);
}
public static function registerJs($view, $js)
{
$view->registerJs($js);
}
public static function registerCss($view, $css)
{
$view->registerCss($css);
}
}
下面这个是我在视图中动态注册的资源
<?php
use backend\assets\Asset;
Asset::addScript($this, '@web/assets/vendors/js/forms/listbox/jquery.multi-select.js');
Asset::addCss($this, '@web/assets/vendors/css/forms/listbox/multi-select.css');
?>
共 1 个回答
asceee
注册时间:2018-07-19
最后登录:2020-12-10
在线时长:8小时33分
最后登录:2020-12-10
在线时长:8小时33分
- 粉丝1
- 金钱5
- 威望0
- 积分85