Twig资产无法找到js文件

时间:2015-08-30 18:29:10

标签: javascript symfony twig

我使用Symfony 2.7。我试图通过javascript块加载javascript文件。但是twig总是抛出以下错误信息:

  

在编译模板期间抛出了异常   (“无法找到文件”@ AppBundle / Resources / public / js /“。”)in   “安全/ registration.html.twig”。

所以我的 registration.html.twig

{% block body %}
 //divs.
{% endblock %}

{% block javascripts %}
    {% javascripts '@AppBundle/Resources/public/js/*' %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

我检查了文件夹路径,在我的视图中没关系: /var/www/html/UserAuthentication/app/Resources/public/js/registration.js

此处 index.twig.html ,其中包含 registration.twig.html

{% extends '::base.html.twig' %}

{% block body %}
    <div id="wrapper">
        <div id="container">

            {{ render(controller('AppBundle:Security:login')) }}

            {{ render(controller('AppBundle:Security:register')) }}

        </div>
    </div>
{% endblock %}

这就是我的 base.twig.html 的外观:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">

    </head>
    <body>
        <div class="container">
            {% block body %}{% endblock %}
        </div>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
        {% block javascripts %}{% endblock %}
    </body>
</html>

我希望 registration.js 将在 javascripts 块中

我的 config.yml

assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    bundles:        [ 'AppBundle' ]

我已经用这种方式尝试了捆绑bundles: [],但它不会在树枝中发生任何变化,我的树枝模板仍会抛出相同的异常。

我真的没有找到,问题在哪里/我不明白。 谁知道我的错误在哪里?

这是我的捆绑依赖项( composer.json ):

"require": {
        "php": ">=5.3.9",
        "symfony/symfony": "2.7.*",
        "doctrine/orm": "~2.2,>=2.2.3,<2.5",
        "doctrine/dbal": "<2.5",
        "doctrine/doctrine-bundle": "~1.4",
        "symfony/assetic-bundle": "dev-master",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~4.0",
        "sensio/framework-extra-bundle": "~3.0,>=3.0.2",
        "incenteev/composer-parameter-handler": "~2.0",
        "ircmaxell/password-compat": "~1.0.3"
    },

是的,我已多次运行app/console cache:clearapp/console assets:installapp/console assetic:dump命令。 :(

1 个答案:

答案 0 :(得分:3)

@ AppBundle / Resources / public / js / *指向src / AppBundle / Resources / public / js / * 不要app / Resources / public / js / *

使用您应该使用的app / Resources: &#34;%kernel.root_dir%/资源/资产/ JS /&#34;

我开始使用S2.8并遇到类似问题(尚未完全解决)。