在symfony中存储css和js的地方

时间:2016-03-21 11:26:16

标签: php css symfony assetic

即时通讯使用symfony ad我读到存储图像js和图像的最佳做法是/ web

<link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}" />

如果我想使用assetic,我找到了像

这样的例子
    {% javascripts '@AppBundle/Resources/public/js/*' output='js/compiled/main.js' %}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}

其中@AppBundle是Bundle的逻辑名称

  

逻辑文件名¶

     

如果要从捆绑中引用文件,请使用以下表示法:   @ BUNDLE_NAME /路径/到/文件; Symfony会将@BUNDLE_NAME解析为   捆绑的真实路径。例如,逻辑路径   @ AppBundle / Controller / DefaultController.php将被转换为   src / AppBundle / Controller / DefaultController.php,因为Symfony知道   AppBundle的位置。

我在哪里存储资产?

3 个答案:

答案 0 :(得分:3)

如果您不使用资产,则应将可公开访问的图像和j放在/ web目录中。

如果您使用资产,则应将可公开访问的图像和j分别放在@ AppBundle / Resources / public / css和@ AppBundle / Resources / public / js中。然后你将不得不使用资产,资产将自动负责让公众可以访问。您不必担心这一点,通常会将您的文件过滤并复制到您的/ web目录中。

示例:

{% block javascripts %}
    {% javascripts '@AppBundle/Resources/public/js/*' %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

在此示例中,AppBundle的Resources / public / js /目录中的所有文件都将从其他位置加载和提供。实际呈现的标记可能看起来像:

<script src="/app_dev.php/js/abcd123.js"></script>

欲了解更多信息,请阅读: http://symfony.com/doc/2.8/cookbook/assetic/asset_management.html#installing-and-enabling-assetic

答案 1 :(得分:1)

你应该将你的css / js文件放在app / Resources / assets / css和app / Resources / assets / js下(资产文件夹可以是&#34; public&#34;文件夹)

稍后你应该使用assetic将最终的app.css和app.js放在web文件夹下(这是symfony项目中的公共文件夹)

文档here(矛盾?)和here

答案 2 :(得分:1)

自Symfony4.0起,最佳实践现在位于/assets目录中的新root目录中。

这使您的前端开发人员和设计人员更容易工作而无需进入后端混乱。