【发布时间】:2016-04-24 16:09:38
【问题描述】:
我已经使用 yii2 有一段时间了,但我无法理解如何管理我的包。在这方面我有两个问题。
当我将一个包添加到 yii2 时,它会在 vendor/bower/bower-assets 中下载。
当 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',
];
}
【问题讨论】:
-
那么您想将这些资产包含在您的资产包中吗?
-
@TNC 是的,我想包含这些资产或定义别名“@bower”以指向 vendor/bower/bower-assets,因为这是作曲家包的默认安装位置
-
全局安装 fxp 资产插件。
-
@schmunk 我已经在全球范围内安装了 fxp 资产插件。我的主要问题是软件包已下载到“@vendor/bower/bower-assets”,但如果我覆盖别名“@bower”,所有应用程序都在“@vendor/bower”上发布资产。请指教
-
@chapskev 我经常看到这样的错误,当
asset-installer-paths未正确解析时,此设置应注意位置并由 fxp 的资产插件处理。但无论如何,作为一种解决方法,您可以尝试覆盖您提到的别名。
标签: yii2 composer-php