Layout Yii2 AppAsset未在布局中生成css/js链接

Layout Yii2 AppAsset未在布局中生成css/js链接,layout,assets,yii2,Layout,Assets,Yii2,嗯,我在AppAsset中声明了所有CSS和JavaScript内容,但我无法在前端视图中显示CSS和js链接。这是我的档案: app/assets/AppAsset.php: <?php namespace app\assets; use yii\web\AssetBundle; class AppAsset extends AssetBundle { public $basePath = '@webroot'; public $baseUrl = '@web';

嗯,我在AppAsset中声明了所有CSS和JavaScript内容,但我无法在前端视图中显示CSS和js链接。这是我的档案:

app/assets/AppAsset.php:

<?php

namespace app\assets;

use yii\web\AssetBundle;
class AppAsset extends AssetBundle {
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'assets/css/bootstrap.min.css',
        'assets/plugins/weather-icon/css/weather-icons.min.css',
        ...
    ];
    public $js = [
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

提前谢谢

这部分

<?php $this->head() ?>

表示您的文件位于vendor/assets/css/bootstrap.min.css中,您确定这是正确的吗?因为我觉得这是不对的。

我也有同样的问题。在我的例子中,布局在
标记内没有

部分

应该是这样的:

<body>
<?php $this->beginBody() ?>
   <!--content-->
<?php $this->endBody() ?>
</body>


希望它能帮助别人

可能你的资产文件夹文件大小大于20MB。我认为资产管理器没有创建大文件夹

我也有同样的问题,因为我错误地从
frontend/views/layouts/main.php中删除了下面一行

<?php $this->head() ?> 


CSS在添加上述行时开始工作。

是的,我非常确定文件的路径是正确的。目前,包含所有css和js文件的目录是vendor/scripts。来自供应商的所有文件都复制到“web/assets/2b2e6bcf”中,但不幸的是,它们似乎都没有出现在布局的标题部分。有什么想法吗?不要太确定,一定要确定。在项目中,导航到应用程序的主文件夹,然后转到vendor/assets/css/bootstrap.min.css并确认其中有一个文件。没有像样的yii2装置应该有任何东西。我已经检查过很多次了。文件在那里,但没有在html布局的头部声明。现在,我决定将它们放在“web/assets”目录中,但它似乎再次不起作用。检查主帖子。尝试删除所有->渲染(并使用->渲染部分)(或者进行测试,只需删除每个部分视图,以确保视图中的所有内容都正常。我删除了所有视图,也尝试了,但没有发生任何事。好吧,这样做有效,但为什么?这些语句不在我的“主”布局中(JS工作的地方)但是当我使用“空白”(自定义)布局时,如果没有beginBody()和endBody()语句,JS就不会加载?@gvanto Ussualy JS标记放在关闭标记之前(或内部)。我认为
$this->endBody()是
语句告诉Yii HTML正文的结尾在哪里。没有它Yii不知道结尾在哪里,也不能在它前面粘贴标记。如果
结尾处缺少,也会出现同样的行为
<body>
<?php $this->beginBody() ?>
   <!--content-->
<?php $this->endBody() ?>
</body>
<?php $this->head() ?>