0

在使用Alexandre Salomé 的 [尽管如此出色的]“Sass、Compass 和 Assetic 在 10 分钟内”的大量麻烦之后,我终于得到了 Compass Assetic 过滤器来将我的 SCSS 文件转换为我项目的 /web 目录中的 CSS 文件。我什至认为我有 compass image-url() 函数来引用应该在的图像。

不幸的是,我不知道如何将图像保存在我的包中,并在需要时让 Assetic 正确地将它们复制或重写到 /web 目录中。他们只是不去那里。暂时(......看起来这可能是预期的功能??)我只是将它们复制到 /web/images 目录中。这不可能。...对?

4

1 回答 1

4

这不是assetic 可以而且应该做的事情,而是Symfony 可以做的事情。

首先,您应该将资产放在包结构中的正确位置。这些应该放在Resources/public目录中。这是样式表、脚本、图像和所有其他公共事物存在的地方。有关捆绑包结构的更多信息,请阅读文档:“如何使用构建捆绑包的最佳实践”

FrameworkBundle 带有一个有用的命令,称为assets:installthis 会将所有捆绑包中的所有资产安装到web/bundles/<bundle_name>目录中。每次使用composer updateor命令时都会运行此composer install命令。当您更新捆绑包中的某些资产时,您可以运行以下命令将所有内容复制到 web 目录:

$ php app/console assets:install

有时,您不想在每次更新某些内容时都运行此命令。例如,如果您开始设置页面样式,则需要每分钟运行一次该命令。如果您的服务器支持使用符号链接,则可以使用该--symlink选项。这样,您不需要每次都运行该命令。

于 2013-02-12T14:56:44.977 回答