【问题标题】:Symfony and composer component folderSymfony 和 composer 组件文件夹
【发布时间】:2015-04-25 03:53:45
【问题描述】:

config.yml

jquery:
         inputs:
              - %kernel.root_dir%/../vendor/components/jquery/jquery.min.js

composer.json

"require": {
    "components/jqueryui" : "dev-master",
    "components/jquery":  "dev-master"
},
//...

Jquery 位于 vendor\composer 但 symfony 不重新协调此路径:

[message] 源文件 "F:\UniServerZ\www\app/../vendor/jquery/jquery/jquery.min.js" 没有 存在。

如何链接到 components/ 文件夹?....

【问题讨论】:

  • 我建议您将 jQuery 排除在框架供应商之外。为什么你需要它?它是一个 .js 文件,没有命名空间,应该通过 cdn 导入。
  • 我想要一个始终真实的 JQuery。
  • 您确定您的 config.yml 与此处发布的相同吗?
  • 当然,symfony 只是转义“组件”文件夹...
  • @user3468055:好吧,你可以,我只需要警告你使用dev-master 是不好的做法,因为如果你正在构建大型系统,你必须具体说明你的依赖关系。如果您的系统已经使用了 2 年,并且下一个 jQuery 版本标记为已弃用或排除了您在代码中使用的某些函数,该怎么办?而且我确定您的代码不起作用,因为由于缺少命名空间,它无法自动加载 jQuery。

标签: jquery symfony composer-php


【解决方案1】:

好吧,我想那是因为 jQuery 应该在公共文件夹 web 中,所以你可以从外部访问它。

composer.json:

"config": {
    "bin-dir": "bin",
    "component-dir": "web/components"
},

你可以像 (assetic) 一样使用它:

{% javascripts 'components/jquery/jquery.min.js' %}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}

希望对你有帮助。

【讨论】:

  • 我还必须通过composer require robloach/component-installer 将此安装程序添加到.json。该安装程序能够解释component-dir 配置。没有这个,composer 在根目录中安装了components 而不是web 目录。更多信息github.com/RobLoach/component-installer
猜你喜欢
  • 2018-08-27
  • 2015-11-01
  • 2014-03-16
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-27
  • 2018-07-08
相关资源
最近更新 更多