Yii2 Composer 管理 Bower 和 Bower-vendor 中的包

2024-05-11

我已经使用 yii2 一段时间了,但我不知道如何管理我的包。在这方面我有两个问题。

  1. 当我将包添加到 yii2 时,它会在vendor/bower/bower-assets 中下载。

  2. 当 yii2 发布包时,它会在vendor/bower下查找资产

我该如何解决。我为不同的项目安装了许多 yii2,而且我似乎每次都会遇到同样的问题。

这是我的composer.json 文件

{
    "name": "yiisoft/yii2-app-basic",
    "description": "Yii 2 Basic Project Template",
    "keywords": ["yii2", "framework", "basic", "project template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": ">=2.0.5",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "dektrium/yii2-user": "0.9.*@dev"
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*"
    },
    "config": {
        "process-timeout": 1800
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::postCreateProject"
        ]
    },
    "extra": {
        "yii\\composer\\Installer::postCreateProject": {
            "setPermission": [
                {
                    "runtime": "0777",
                    "web/assets": "0777",
                    "yii": "0755"
                }
            ],
            "generateCookieValidationKey": [
                "config/web.php"
            ]
        },
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    }
}

请参阅下面我的 AppAsset 文件

class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/site.css',
    ];
    public $js = [
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}

这可以通过覆盖 Bower 包的默认别名路径(即 @vendor/bower 到 @vendor/bower/bower-asset)来存档。

这可以通过 $config=[] 下的 web.php 文件来完成

 'aliases' => [
        '@bower' => '@vendor/bower/bower-asset',
    ],

当你回声时

echo Yii::getAlias('@bower');

它应该回声

/Library/WebServer/Documents/project-name/vendor/bower/bower-asset
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Yii2 Composer 管理 Bower 和 Bower-vendor 中的包 的相关文章

随机推荐