Symfony Assetic 没有链接自己的包

Posted

技术标签:

【中文标题】Symfony Assetic 没有链接自己的包【英文标题】:Symfony Assetic is not linking own bundles 【发布时间】:2015-11-24 02:32:57 【问题描述】:

我发现了一些我无法解释为什么 symfony 会这样表现的东西。 我创建了几个包来将脚本的功能分解为模块。 到目前为止一切正常。 今天我第一次将它部署到临时环境中。 我执行了

php 应用程序/控制台资产:转储

没有任何问题。 然后我执行

php 应用程序/控制台资产:安装网络

但它没有为我自己的包创建符号链接。 (拥有我的开发系统,它们就在那里)。

这是输出:

php app/console assets:install
Installing assets as hard copies.
Installing assets for Symfony\Bundle\FrameworkBundle into web/bundles/framework
Installing assets for Stfalcon\Bundle\TinymceBundle into web/bundles/stfalcontinymce
Installing assets for JMS\JobQueueBundle into web/bundles/jmsjobqueue

我的捆绑包都没有出现在这里。 我想知道如何启用此功能,因为我还需要推送几个属于捆绑包的图像。

我使用

创建了捆绑包

php 应用程序/控制台生成:包

和控制器骨架

php 应用程序/控制台生成:控制器

我没有修改任何结构。 (我在控制器文件和 yml 中使用注释作为配置文件) 我错过了什么? 因为我真的不知道问题出在哪里,所以并没有真正在谷歌搜索。 或者它甚至是一个问题? 是否缺少任何文件夹?

【问题讨论】:

您是否已将您的捆绑包添加到 config.yml 中的assetic:bundles:[] 下? 是的,我做到了。这是行:捆绑:[UserBundle,HomeBundle,AdminBundle] 但我不知道为什么它不起作用。我是否有可能需要某些文件夹才能正常工作? 您的资产在 Bundle/Resources/assets 和/或 Bundle/Resources/public 中吗? (顺便说一句,您将资产安装为硬拷贝,对于符号链接,您必须使用'assets:install --symlink'。) 好的,这解释了一些事情。我将它们放在 Resources 下,但不在 public 或 assets 下。 【参考方案1】:

您的捆绑包需要添加到

assetic:
    bundles:[yourBundle]

assetic 期望你的文件在

Bundle/Resources/assets 

和/或

Bundle/Resources/public

文件夹。

(我之前找到了this answer,也许对你有用..)

【讨论】:

以上是关于Symfony Assetic 没有链接自己的包的主要内容,如果未能解决你的问题,请参考以下文章

尝试在我的项目中实现没有 Symfony2 的 Twig 和 Assetic

使用 Assetic / Twig / Symfony2,我可以定义前端库吗?

symfony2:使用assetic-dump,可以只转储一个文件吗?

Symfony 2 Assetic 致命错误:在资产转储中找不到类“Assetic\Util\PathUtils”

Symfony2 - Assetic - css 字体图标

Symfony2 Assetic + Twig 模板 JavaScript 继承