私はTwigを使用しており、HTML 出力を縮小できるようにしたいと考えています。どうすればいいですか?を試し{% spaceless %}
ましたが、すべてのテンプレートにそれを追加する必要があります。Twig エンジン内でミニフィケーションを追加できますか?
質問する
13096 次
3 に答える
2
たとえば、src/Controller
ディレクトリに BaseController があります。
- BaseController を作成する必要があります
- コントローラから拡張
- Controller クラスの render メソッドをオーバーライドする
- そして、すべてのコントローラーでこのメソッドを使用します
class BaseController extends Controller {
protected function render($view, array $parameters = array(), Response $response = null)
{
if ($this->container->has('templating')) {
$content = $this->container->get('templating')->render($view, $parameters);
} elseif ($this->container->has('twig')) {
$content = $this->container->get('twig')->render($view, $parameters);
} else {
throw new \LogicException('You can not use the "render" method if the Templating Component or the Twig Bundle are not available. Try running "composer require symfony/twig-bundle".');
}
if (null === $response) {
$response = new Response();
}
$content = preg_replace(array('/<!--(.*)-->/Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$content));
$response->setContent($content);
return $response;
}
}
他のコントローラーで BaseController を拡張することもできます。
于 2018-04-19T11:03:32.267 に答える
-7
使用する
{% spaceless %}
YOUR WHOLE PAGE GOES HERE HTML, TWIG, JS EVERYTHING...
{% endspaceless %}
小枝のバージョンがタグを認識しない可能性があります。小枝の最新バージョンを更新するだけです。
これにより、生成される出力 html が縮小され、コンパイルされたバージョンの html のみがロードされるため、ページのロードが増加します。
読み取り可能な状況でコードを表示することはできますが。
于 2014-04-12T12:16:02.947 に答える