【问题标题】:what a part does bower/bower-asset play in php application such as yii2bower/bower-asset 在 yii2 等 php 应用程序中起什么作用
【发布时间】:2019-11-01 22:06:58
【问题描述】:

最近我部署了一些项目,例如trntv/yii2-starter-kit 等。但是所有应用程序都在“@vendor/bower”而不是“@vendor/bower/bower-asset”上发布资产。我已阅读问题Yii2 Composer manage package in bower and bower-vendor 并解决了它。但我仍然对目录vendor/bower/bower-asset感到困惑。
bower/bower-asset 在 php 应用程序中的作用是什么?它不是作曲家包,而是那里有许多主题商店。此外,bower 是 javascript 的依赖管理,就像 Composer 用于 PHP 一样,但是在我没有安装 node.js 环境的情况下,它如何解决 PHP 对 js 包的依赖?

【问题讨论】:

    标签: yii2 composer-php bower


    【解决方案1】:

    Composer Asset Plugin 的想法是下载 Bower / NPM 包并管理它们的依赖项,而无需安装 Node JS、Bower 和 NPM(通过 PHP / Composer)。它还增加了为使用 JavaScript 库的 PHP 包添加 JavaScript 依赖项的可能性。

    参见例如yii2-bootstrap Yii2 扩展(PHP)依赖于 Bootstrap(JS + CSS):

    "bower-asset/bootstrap": "3.3.* | 3.2.* | 3.1.*"
    

    当你运行composer installcomposer update时,所有的JS依赖都会被安装到vendor/bower文件夹中。

    这是内置在核心中的,但非常模糊,受到很多批评,并计划在2.1.0 中删除它(据我记得,它在2.0 发布之前就包含了,即使它是不稳定的)。不幸的是,这是必需的,没有正常的方法可以禁用它。

    您可以在扩展程序的Github page 上阅读更多信息。

    文件夹名称应该是bower,而不是bower-asset,如果你安装正确的话。

    它是自动命名的,请确保您拥有最新版本的插件:

    composer global require "fxp/composer-asset-plugin:~1.1.1"
    

    我建议甚至切换到:

    composer global require "fxp/composer-asset-plugin:*"
    

    如果遇到问题或错误,请执行:

    composer global remove "fxp/composer-asset-plugin"
    

    然后重新安装,删除应用文件夹中的vendorcomposer.lock并运行:

    composer install
    

    【讨论】:

      猜你喜欢
      • 2020-05-02
      • 2016-04-24
      • 2014-11-10
      • 2013-03-24
      • 2023-03-07
      • 2020-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多