2

我有一个social用这样的目录命名的模块:

frontend
-- modules
    -- social
        -- assets
            -- SocialAsset.php
        -- controllers
        -- views
            -- default
            -- layouts
                -- main.php
        -- web
            -- css
            -- js
            -- img
        Module.php

我希望我的模块有自己的布局。正因为如此,我为布局添加了file SocialAsset、和. 但是,不幸的是我无法访问我的/ /文件。文件 :main.phpcssjsimgcssjsimg

SocialAsset

<?php

namespace frontend\modules\social\assets;

use yii\web\AssetBundle;

class SocialAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $sourcePath = '@app/modules/social/web';
    public $css = [
        'css/social.css',
        'css/toolkit.css'
    ];
    public $js = [
        'js/jquery.min.js',
        'js/social.js',
        'js/toolkit.js',
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

main.php我使用这样的SocialAsset文件:

use frontend\modules\social\assets\SocialAsset;


SocialAsset::register($this);

有人可以帮我解决这个问题吗?

4

1 回答 1

0

你应该只sourcePath在你的资产包中设置:

sourcePath指定包含此包中资产文件的根目录。如果根目录不可通过 Web 访问,则应设置此属性。否则,您应该设置 basePath属性 and baseUrl,而不是。

这意味着您应该简单地删除$basePath$baseUrl在您的资产包中,然后 Yii 将发布您的文件。

阅读更多:http ://www.yiiframework.com/doc-2.0/guide-structure-assets.html

于 2015-10-18T09:46:31.337 回答