Bij*_*net 8 php rendering symfony twig symfony4
我想包括
<link href="{{ asset('css/mystyle.css') }}"
rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)
在我的twig文件中并渲染它.但它给了我未捕获的PHP异常Twig_Error_Runtime:
"在呈现模板期间抛出了异常("资产清单文件"/../public/build/manifest.json"不存在.")
它在我使用时确实有效
link href="css/mystyle.css"
rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)
.以下是我的控制器:
<?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');
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我的树枝模板:
<!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>
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
Sar*_*mar 10
执行以下命令:
yarn add --dev @symfony/webpack-encore
yarn add webpack-notifier --dev
yarn encore dev
Run Code Online (Sandbox Code Playgroud)
它将生成manifest.json文件
我已经通过不使用 json_manifest_path 解决了这个问题:~
通过在 json_manifest_path 前面添加 '#' 并在 'assets:' 之后添加 '~' 来注释掉它
framework:
assets: ~
#json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
Run Code Online (Sandbox Code Playgroud)
小智 3
manifest.json 是 Symfony 3.3 中的新增内容。
因此,您的配置文件中应该包含以下几行:
Run Code Online (Sandbox Code Playgroud)# app/config/config.yml framework: # ... assets: json_manifest_path: '%kernel.root_dir%/../web/build/manifest.json'
如果manifest.json不存在,您应该创建它,如下所示:
{ "css/app.css": "build/css/mystyle.b916426ea1d10021f3f17ce8031f93c2.css", "...": "..." }