Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony资产不包括样式表_Php_Symfony_Twig_Symfony4 - Fatal编程技术网

Php Symfony资产不包括样式表

Php Symfony资产不包括样式表,php,symfony,twig,symfony4,Php,Symfony,Twig,Symfony4,我已经通过composer和asset组件安装了symfony 4.1 我在assets/css/dashboard.css上有一个css文件,在我的templates/base.html.twig中,我包含了以下内容: {% block stylesheets %} <link href="{{ asset('css/dashboard.css') }}" rel="stylesheet" /> {% endblock %} 我没有修改任何东西,但

我已经通过composer和asset组件安装了symfony 4.1

我在assets/css/dashboard.css上有一个css文件,在我的templates/base.html.twig中,我包含了以下内容:

    {% block stylesheets %}
        <link href="{{ asset('css/dashboard.css') }}" rel="stylesheet" />
    {% endblock %}
我没有修改任何东西,但不知何故,模板没有被调用

我尝试了很多不同的路径,添加了斜线和圆点,我想也许路径是错误的,但什么都没有

css文件没有问题,我转储了它的内容并将其粘贴到模板的标记中,它就可以工作了

我不知道发生了什么简而言之:

资产功能指向公用文件夹

因此,在您的示例中,您的dashboard.css应该位于public/css/dashboard.css中,而不是这样

较长的解释是:

通常,您将在资产文件夹中组织脚本、样式和图像。但在生产中,您不需要可读性好的css/less/scss/js代码,因此您希望缩小它。 并将缩小的丑陋代码复制到您的公用文件夹中

因此,您希望使用Webpack Encore缩小代码并将其部署到项目的公用文件夹中

在symfony's中,您可以找到如何使用的指南

为什么这些资产要转到公用文件夹

在symfony和大多数其他框架的安全概念中,公用文件夹是唯一可访问的文件夹。因此,浏览器必须阅读的所有内容都会显示在那里。如果是symfony,请选择您的样式、脚本、图像等。

简称:

资产功能指向公用文件夹

因此,在您的示例中,您的dashboard.css应该位于public/css/dashboard.css中,而不是这样

较长的解释是:

通常,您将在资产文件夹中组织脚本、样式和图像。但在生产中,您不需要可读性好的css/less/scss/js代码,因此您希望缩小它。 并将缩小的丑陋代码复制到您的公用文件夹中

因此,您希望使用Webpack Encore缩小代码并将其部署到项目的公用文件夹中

在symfony's中,您可以找到如何使用的指南

为什么这些资产要转到公用文件夹


在symfony和大多数其他框架的安全概念中,公用文件夹是唯一可访问的文件夹。因此,浏览器必须阅读的所有内容都会显示在那里。如果是symfony,请选择样式、脚本、图像等。

如果您谈论的是项目根目录中的资产文件夹,而不是公开的,则需要使用例如webpack来构建/复制文件到正确的位置。请尝试使用bin/console资产:install@jeroen这是有道理的。有没有办法用webpack来构建它?我可以搜索在线指南,但我肯定会有很多初始错误或配置问题。如果您可以回答这些步骤,我可以接受,如果您谈论的是项目根目录中的资产文件夹,而不是公开的,您需要使用例如webpack来构建/复制文件到正确的位置。请尝试使用bin/console资产:install@jeroen这是有道理的。有没有办法用webpack来构建它?我可以搜索在线指南,但我肯定会有很多初始错误或配置问题。如果你能用这些步骤回答,我可以接受。谢谢你的回答。您能给出的示例中是否有任何替代方案不需要我从资产更改为公用文件夹以使用css或js文件?我觉得资产文件夹的存在是有原因的,我不想改变iTunes通常你建立和缩小你的资产,并复制到你的公共文件夹与网页。我想这对你有帮助。最后一个问题,我以前使用过less和sass,我刚刚意识到我可以在资产中创建sass文件,并将构建公开。encore比这有什么优势?它是由symfony制作的,因此它与symfony项目有很好的集成。当然,你也可以使用其他东西,如咕噜声、咕噜声等。在我看来,安可是symfony项目的正确方式,因为它是内置的。谢谢你的回答。您能给出的示例中是否有任何替代方案不需要我从资产更改为公用文件夹以使用css或js文件?我觉得资产文件夹的存在是有原因的,我不想改变iTunes通常你建立和缩小你的资产,并复制到你的公共文件夹与网页。我想这对你有帮助。最后一个问题,我以前使用过less和sass,我刚刚意识到我可以在资产中创建sass文件,并将构建公开。encore比这有什么优势?它是由symfony制作的,因此它与symfony项目有很好的集成。当然,你也可以使用其他东西,如咕噜声、咕噜声等。在我看来,安可是symfony项目中的正确方式,因为它是内置的。