【发布时间】:2018-12-25 20:50:49
【问题描述】:
我正在尝试包含
<link href="{{ asset('css/mystyle.css') }}"
rel="stylesheet"/>
在我的树枝文件中并渲染它。但它给了我未捕获的 PHP 异常 Twig_Error_Runtime:
"在渲染模板的过程中抛出了异常 (“资产清单文件”/../public/build/manifest.json“不 存在。”)
当我使用它时它确实有效
link href="css/mystyle.css"
rel="stylesheet"/>
。 以下是我的控制器:
<?php
namespace App\Controller;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
class WelcomeController extends AbstractController
{
/**
* @Route("/", name="welcome")
*/
public function index()
{
return $this->render('welcome/index.html.twig');
}
}
以下是我的树枝模板:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Let's Explore Symfony 4</title>
<!-- Bootstrap core CSS -->
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css"
integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy"
crossorigin="anonymous">
<link href="{{ asset('css/mystyle.css') }}"
rel="stylesheet"/>
</head>
<body>
<header>
<nav class="navbar navbar-expand-sm navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Home</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="#">Hello Page</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main role="main" class="container main">
<div>
<h1>Let's Explore Symfony 4</h1>
<p class="lead">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras rutrum sapien mauris, venenatis
facilisis neque tincidunt vel. Maecenas vel felis vel turpis scelerisque eleifend. Fusce nec purus egestas,
efficitur nisi ac, ultrices nulla. Pellentesque eu mollis tortor, in mollis nisl. Maecenas rhoncus quam non
lacinia mollis.</p>
</div>
</main>
</body>
</html>
我该如何解决这个问题?
【问题讨论】:
-
你之前执行过 bin/console asset:install 吗?
-
以下所有解决方案都没有解决我的问题。还有其他建议吗?
-
Sarath Kumar 的回答应该会有所帮助。正如错误指出的那样,
manifest.json不存在。编译资产后可以自动创建它。最终只需输入命令yarn encore dev即可解决问题。 -
你的资产由 webpack-encore 管理,所以你只需要更新你的代码。删除asset(...) 方法并公开它的内容。 Webpack 应该为您处理您的资产。将您的代码从
<link href="{{ asset('css/mystyle.css') }}" rel="stylesheet"/>更新为<link href="{{ 'css/mystyle.css' }}" rel="stylesheet"/>
标签: php symfony twig rendering symfony4