通过 Twig 中的资产从供应商库中包含 css 和 js 文件

Include css and js files from vendor library via assets in Twig

我想将我供应商目录中库中的 cssjs 文件包含到 Twig 中。

我通过 composer 下载 morrisjs 到我的 symfony 供应商目录中。现在我想将主要的 cssjs 文件包含到我的 Twig 模板中。但据我所知,asset 函数仅适用于位于 Bundles 中的文件。

我要包含的文件位于以下路径中:

我想到了一些看起来像这样的理论代码:

{% block stylesheets %}
    <link href="{{ asset('vendor/morrisjs/morris.js/morris.css') }}" />
{% endblock %}

是否有可能直接从供应商处包含这些文件?何时不包含?

如果 morrisjs 是前端 javascript 库,则通过 npmbower.

安装它

通过 composer 安装的软件包应该在 Resources/public 中包含所有 public 资产,因此您可以使用以下方式发布它们:

$ php bin/console assets:install target [--symlink]

然后在树枝模板中使用:

<link href="{{ asset('bundles/acmedemo/css/contact.css') }}" rel="stylesheet" />

安装新包后,运行:

php app/console assets:install web

'web' 是您服务器的文档根目录(public_html 或其他)。 您还需要转储您的资产:

//for dev
php app/console assetic:dump
//for prod
php app/console assetic:dump --env=prod --no-debug

在您的服务器 public 根目录中,您将拥有目录 /bundles/,您的所有文件都将出现在该目录中,并且您可以使用 {{ asset('bundles/morri 轻松地将它们包含在 Twig 中。 .) }}

阅读 combining assets,你在某些时候会需要的东西。