如何在Symfony的视图中引用node_modules组件

时间:2016-07-16 18:08:45

标签: npm symfony

我使用npm安装了一个小部件。它安装在node_modules文件夹下。我需要在我的View中添加小部件的javascript和CSS文件,但由于它们不在Web文件夹中,因此无法使用以下方法包含它们:

<link href="{{ asset('assets/someFolder/.css') }}" rel="stylesheet" type="text/css" />

我如何实现上述目标?

2 个答案:

答案 0 :(得分:1)

我知道有很多方法可以解决这个问题。我将向您展示我在symfony中使用node_modules的方式。我为此使用YarnAssetic bundle,它实际上比您想象的要容易。

  1. 为您的系统安装纱线并在symfony中安装资产包。它们非常简单。

  2. 在AppBundle(或任何捆绑包)中创建一个新目录,并将其命名为Assets。从控制台转到资产目录,并使用Yarn在那里安装节点模块。

    yarn add bootstrap@3.3.7

  3. 现在,您可以在视图中按以下方式添加资源。

    {% stylesheets '@AppBundle/Assets/node_modules/bootstrap/dist/css/bootstrap.css' filter='cssrewrite' %} <link rel="stylesheet" href="{{ asset_url }}" /> {% endstylesheets %}

  4. 希望这有帮助。

答案 1 :(得分:0)

如此处Specify path to node_modules in package.json所述,没有正确的方法来指示package.json将依赖项放在某个特定路径中。我不得不手动更改为Web文件夹,然后在那里下载小部件的依赖项。