duan19913 2018-08-02 14:21
浏览 18
已采纳

Symfony资产不包括样式表

I have symfony 4.1 installed via composer and the asset component.

I have a css file at assets/css/dashboard.css and in my templates/base.html.twig I included this:

    {% block stylesheets %}
        <link href="{{ asset('css/dashboard.css') }}" rel="stylesheet" />
    {% endblock %}

I haven't modified anything, but somehow the template is not getting called.

I tried many variations of the path, adding slashes, dots thinking maybe the path is wrong but nothing.

The css file has no issue, I dumped it's contents and pasted it inside my template's <style></style> tags and it works.

I don't know what is going on

  • 写回答

1条回答 默认 最新

  • dsorecdf78171 2018-08-02 14:35
    关注

    For short:

    The asset() function points on your public folder.

    So in your example, your dashboard.css should be in public/css/dashboard.css than this <link href="{{ asset('css/dashboard.css') }}" rel="stylesheet" /> should work.

    The longer explanation:

    Usually you will structure your scripts, styles and images in your assets folder. But in production you don´t need good readable css/less/scss/js code and so you want to minify it. And the minified (uglified) code should be copied to your public folder.

    So you want to use Webpack Encore to minify your code and "deploy" it to your projects public folder.

    In symfony´s documentation you can find a simple Example how to use Webpack Encore.

    Why the assets are going to the public folder?

    During the security concept of symfony (and the most other frameworks) the public folder is the only accessible folder. So everything the browser have to read goes there. In case of symfony your styles, scripts, images and so on.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算