在Symfony 2.8和3.0中未找到资产

在Symfony 2.8和3.0中未找到资产,symfony,Symfony,我正在启动一个新的Symfony项目。在我键入之后: symfony new project-name 我看到新项目已创建,但在项目中找不到Assetic捆绑包。如果我尝试: app/console 我找不到以下命令: assetic:dump assetic:watch 谁能帮帮我吗?我做错了什么。我下载的文件有问题吗?自SF 3.2以来,不包括Assetic捆绑包。我认为这是由一些兼容性问题造成的 您可以手动将它们添加到composer.json中 "symfony/assetic-b

我正在启动一个新的Symfony项目。在我键入之后:

symfony new project-name
我看到新项目已创建,但在项目中找不到Assetic捆绑包。如果我尝试:

app/console
我找不到以下命令:

assetic:dump
assetic:watch

谁能帮帮我吗?我做错了什么。我下载的文件有问题吗?

自SF 3.2以来,不包括Assetic捆绑包。我认为这是由一些兼容性问题造成的

您可以手动将它们添加到composer.json中

"symfony/assetic-bundle": "~2",
并将新包添加到内核中

new Symfony\Bundle\AsseticBundle\AsseticBundle(),

那么它应该会起作用。我使用SF2.8及其工作原理。有一些弃用警告,我不知道它是否在SF3下工作。

AssetBundle仅在2.8中从标准发行版中删除。这意味着,如果您希望使用Assetic,您仍然可以通过运行以下命令手动包含依赖项:

composer require symfony/assetic-bundle
并在AppKernel中添加捆绑包:

new Symfony\Bundle\AsseticBundle\AsseticBundle(),
不过,有一件事需要知道。AsseticBundle尚未迁移到3.0

因此,如果您希望启动一个3.0项目,您将无法使用它(目前)。 对于相当多的捆绑包(其中包括Sonata捆绑包)也是如此,尽管一些开发人员在正式发布之前已经开始迁移到3.0版本,但上周,一些捆绑包仍然需要做大量工作才能与3.0兼容

希望AsseticBundle(和其他)能够在接下来的几个月内迁移。或者,如果您不耐烦,您仍然可以为Assetic或AsseticBundle作出贡献!;)


编辑:AsseticBundle应该在月底之前(如果不是之前)进行标记,正如stof在本期中所说:

有趣,我不知道这一点。你有关于这个决定的更多信息的在线资源吗?没有,很遗憾,我遇到了与升级到SF 2.8并复制composer依赖项相同的问题。然后我检查了它,创建了一个新项目,发现它丢失了。我不知道为什么。Assetic版本2.7可以与2.8/3.0配合使用。资产处理可以通过Web包或节点等方式更好地完成。因此决定在3.0中删除。删除2.8有点令人费解,但如上所述:composer需要symfony/assetic捆绑包,更新内核会让你成功。下面是关于是否在symfony中保留assetic的Twitter讨论。这是这个决定背后的完整讨论:只是让人们知道assetic还有其他选择。使用gulp作为资产管道IMHO更加灵活和强大。(而且file watcher更快、更流畅,不需要用巨大的
{%stylesheets%}
{%javascripts%}
标记污染html,它更快。与heroku(为node js添加第二个构建包)一起工作,Ryan Weaver对如何设置它有很好的指导,因此对于新项目,我建议使用基于gulp的工作流。HTH