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

时间:2016-02-29 10:46:43

标签: symfony twig template-engine

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

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

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

  • 项目\厂商\ morrisjs \ morris.js \ morris.js
  • 项目\厂商\ morrisjs \ morris.js \ morris.css

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

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

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

2 个答案:

答案 0 :(得分:5)

如果frame是前端javascript库,请通过morrisjsnpm进行安装。

通过bower安装的软件包应包含composer中的所有公共资源,以便您可以使用以下方式发布它们:

Resources/public

然后在树枝模板中使用:

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

答案 1 :(得分:2)

安装新软件包后,运行:

php app/console assets:install web

&#39;网络&#39;作为您的服务器的文档根目录(public_html或其他任何东西)。 您还需要转储资产:

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

在您的服务器公共根目录中,您将拥有目录/ bundles /,其中包含所有文件,您可以使用{{asset(&#39; bundles / morri ..)}} <}轻松地将它们包含在Twig中/ p>

阅读combining assets,这是您需要的东西。