我使用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:clear
,app/console assets:install
和app/console assetic:dump
命令。 :(
答案 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并遇到类似问题(尚未完全解决)。