【问题标题】:Access Laravel 4 composer package assets访问 Laravel 4 作曲家包资产
【发布时间】:2013-02-02 06:18:42
【问题描述】:

我刚刚在 Laravel 4 中通过 composer 添加了 Twitter Bootstrap,但我不确定如何在我的刀片模板中实际链接到 bootstrap-tooltip.jsbootstrap-transition.js 等文件。

这不是关于 {{HTML::}} 类的问题,我知道它在版本 4 中已被删除。我只想知道如何访问未存储在 /public/ 目录中的媒体。

我想如果我手动执行此操作,我会将 js 放在 /public/js/ 目录中,但是通过 composer 安装包时,文件存储在 /vendor/twitter/bootstrap/js/

这是一个很长的镜头,甚至感觉不对,但我尝试了:

<script src="{{ path('vendor/twitter/bootstrap/js/bootstrap-transition.js') }}"></script>

希望这是有道理的,有人可以提出建议(我也希望我不要愚蠢并错过一些非常明显的东西)。

【问题讨论】:

  • +1,但你最终有什么解决方案?我也是这种情况
  • 我知道这有点老了,但由于最近有人提出了这个问题,我想我会更新(现在我在这方面更聪明了)。正如答案所示,您应该使用 artisan 命令发布资产。他们不应该需要直接链接到供应商文件本身。他们是在 packagist 上存在前端包的情况,例如 twitter Bootstrap。这些不应该真的被使用,因为 packagist 真的是用于 PHP 包,而不是前端包。为此,您应该改用 bower.io 之类的东西,它是前端类型资产的包管理器。

标签: php twitter-bootstrap laravel laravel-4


【解决方案1】:

这可能会有所帮助...

它需要运行某种 composer post 脚本,类似于 Symfony Bootstrap 使用的那种

https://github.com/phiamo/MopaBootstrapBundle/blob/master/Composer/ScriptHandler.php

有一个 Artisan 命令可以移动包的资产,但我不确定它是否适用于通用供应商

php artisan asset:publish vendor/package

【讨论】:

  • 谢谢。虽然我希望有一个更有凝聚力的解决方案。也许它会在未来的版本中得到改进。再次感谢
  • 刚刚想起这个问题,并认为我会更新。在我通过 packagist 添加 twitter bootstrap 后不久,我意识到这是处理资产管理的错误方法并将其删除。如果您确实需要资产管理,则应使用 Bower (bower.io) 之类的东西。对于 Dave 提到的所有其他基于包的案例,请发布它们
猜你喜欢
  • 2014-05-07
  • 1970-01-01
  • 2014-02-25
  • 2013-06-01
  • 2013-01-25
  • 2019-04-05
  • 2013-07-10
  • 2013-08-16
  • 2015-02-14
相关资源
最近更新 更多