Assetic是否允许您永远不会发布资源?

时间:2011-07-31 02:08:51

标签: symfony assets

Symfony2具有Assetic功能,它似乎是一种资产预处理器。它能够从任何路径加载资产。

现在,Symfony2要求您从捆绑包中“发布”资产,这对我来说似乎很笨拙。

通过让您的控制器和模板通过Assetic准备一切来完全避免发布资产是否可能或一个好主意?

1 个答案:

答案 0 :(得分:1)

我认为使用Assetic来准备你的资源(可能做一些缩小或类似)是很好的。但据我所知,Assetic还要求您“发布”(例如“转储”)您的资产。这是使用“assetic:dump”命令完成的。

您还可以在调试模式下运行Assetic,让它检查资产中的更改(--watch)然后转储它们。

对我来说,资产“发布”并没有那么多工作,因为我在运行它时会在“assets:install”命令中添加--symlink标志。这会为每个web / bundles / bundlename文件夹创建符号链接,引用bundle / MyCompany / MyBundle / Resources / public-folder。

我必须重新运行发布命令的唯一情况是添加新捆绑包时(或将公共文件夹添加到我自己的捆绑包中时)。

我希望这能回答你的问题。如果没有,请添加一些额外的评论,说明你觉得笨拙以及你希望Symfony2如何表现:)

更新2012-01-23 自从您上次发表评论以来,我一直在与Symfony2合作。昨天我有了一个想法 - 也许您可以注册自己的Twig函数来处理资产,然后使用像Synfony2的FileLocator这样的文件来找到文件(然后传递给Assetic)? 也许不是处理资产的最佳方式,而是一种更符合您要求的解决方案,至少: - )