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



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

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

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

  • project\vendor\morrisjs\morris.js\morris.js
  • project\vendor\morrisjs\morris.js\morris.css

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

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

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

如果morrisjs是一个前端JavaScript库,那么通过npmbower安装它。

通过 composer 安装的包应将其所有公共资产都Resources/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

在你的服务器公共根目录中,你将有目录/bundles/,你的所有文件都将存在,你可以很容易地将它们包含在Twig中,使用{{asset('bundles/morri..) }}

阅读有关组合资产的信息,这是您在某个时候需要的东西。

最新更新