Symfony2,将 css、javascript、图像放在哪里

Posted

技术标签:

【中文标题】Symfony2,将 css、javascript、图像放在哪里【英文标题】:Symfony2, where to put css, javascript, images 【发布时间】:2013-08-06 23:21:47 【问题描述】:

我是 Symfony2 的初学者,我在放置 css、js、图像等资源时遇到了一些问题...... 我刚刚阅读了这份文件how to use Assetic 但我不知道什么是放置我的资产的最佳方式。那篇文章告诉我,我应该将 js 文件放在我的 Bundle 中,但将 css 文件放在 /web/public/css 中(在 Bundle 之外)。这是复杂和不便的。 有人可以给我看看吗? 谢谢

【问题讨论】:

在这里查看出色的答案:***.com/questions/9500573/…。这对我们来说效果很好。 【参考方案1】:

你可以把它们放到*Bundle/Resources/public/中,然后运行

$ php app/console assets:install --symlink

这将在您的 web/bundles/ 中创建一个带有捆绑名称的符号链接,链接到现有捆绑的公共文件夹。如果您想在您的 html(或主要是 css)代码中使用更简单的路径,您可以直接在您的 web 文件夹中创建一个符号链接。

【讨论】:

【参考方案2】:

如果您使用已接受的答案

app/console assets:install web --symlink

当您包含文件(css、js、图像)时,您需要像在 TWIG 中那样更改 PATH:

 asset('bundles/myBundle/css/main.css') 

PHP 中:

<?php echo $view['assets']->getUrl('bundles/myBundle/img/logo.png') ?>

【讨论】:

【参考方案3】:

我们把它们放在 web/assets/[css|img|js|fonts|less|xml|...]

【讨论】:

【参考方案4】:

如果您的 css/js 文件仅在您的包中使用,则将它们放在包资源中是可以的。否则,如果它被许多捆绑包使用,则放置到公用文件夹中

【讨论】:

以上是关于Symfony2,将 css、javascript、图像放在哪里的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 2 - 使用资产

Symfony2 上传 javascript blob

在 Symfony2 中使用 Twig 作为 JavaScript 的资产过滤器

Symfony2 - Assetic - css 字体图标

Symfony2 - 基于 CSS 的 .html 控制器响应

Symfony2 - Assetic - 在 CSS 中加载图像