Yii2如何正确注册CSS文件
我正试图以这种方式注册CSS文件Yii2如何正确注册CSS文件,yii2,yii2-basic-app,Yii2,Yii2 Basic App,我正试图以这种方式注册CSS文件 $this->registerCssFile('../node_modules/fullcalendar/dist/fullcalendar.css', [ 'depends' => [\yii\web\JqueryAsset::className()] ]); 但我得到了一个错误: 未能加载资源 例如,我知道我站在web文件夹,所以这就是我以这种方式编写上述代码的原因 我尝试不使用registerCssFile,直接在视图文件中写
$this->registerCssFile('../node_modules/fullcalendar/dist/fullcalendar.css', [
'depends' => [\yii\web\JqueryAsset::className()]
]);
但我得到了一个错误:
未能加载资源
例如,我知道我站在web文件夹,所以这就是我以这种方式编写上述代码的原因
我尝试不使用registerCssFile
,直接在视图文件中写入以下内容:
<link href="../node_modules/fullcalendar/dist/fullcalendar.css" rel="stylesheet">
无论如何,问题是如何使用regisercsfile
(正确的方法)实现它
或者,我如何删除该斜线
以防万一:
/yii2app
|_/views
|_/whatever
|_myview.php
|_/web
|_/node_modules
|_/fullcalendar
|_/dist
|_fullcalendar.css
- 我建议您的第一件事是将文件夹移动到
目录中,并从URL中删除尾部的web
如下。/
$this->registerCssFile('node_modules/fullcalendar/dist/fullcalendar.css', [ 'depends' => [\yii\web\JqueryAsset::className()] ]);
目录是运行应用程序的地方,因此您不需要提供相对于视图文件的路径,而需要提供/yii2app/web
目录web
- 否则,请使用
从AssetManager
目录外部加载资产,并使用web
选项使用$sourcePath
目录外部的目录 请参见下面的Asset manager演示web
将上述文件放在namespace app\assets; use Yii; use yii\web\AssetBundle; use yii\web\View; // set @themes alias so we do not have to update baseUrl every time we change themes Yii::setAlias('@themes', Yii::$app->view->theme->baseUrl); /** * Main frontend application asset bundle. */ class FullCalendarAsset extends AssetBundle { public $sourcePath = '@app/node_modules/'; public $css = [ 'fullcalendar/dist/_fullcalendar.css', ]; public $js = [ ]; public $depends = [ 'yii\web\YiiAsset', 'yii\bootstrap\BootstrapAsset', 'yii\bootstrap\BootstrapPluginAsset', ]; }
目录中,然后放在视图中app/assets
您应该了解应用程序use app\assets\FullCalendarAsset; FullCalendarAsset::register($this);
use app\assets\FullCalendarAsset;
FullCalendarAsset::register($this);