2013-07-22 4 views
1

assetic 라이브러리와 하나에 모든 JS가 파일을 결합하는 uglifyjs를 사용하는 방법 [심포니]</p> <p></p> <p>config.yml을로드 할 때 내가 하나에 a.js 및 b.js을 결합하고 싶었다 코드에서 무슨 일

# Assetic Configuration 
assetic: 
    debug:   %kernel.debug% 
    use_controller: false 
    bundles:  ['AcmeDemoBundle'] 
    #java: /usr/bin/java 
    filters: 
     cssrewrite: ~ 
     #closure: 
     # jar: %kernel.root_dir%/Resources/java/compiler.jar 
     #yui_css: 
     # jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar 
     uglifyjs2: %kernel.root_dir% 

뷰 파일

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<head> 
<title></title> 
<meta name="" content=""> 
<link href="<?php echo $view['assets']->getUrl('bundles/acmedemo/css/a.css') ?>" rel="stylesheet" type="text/css" /> 
<!--<script src="<?php echo $view['assets']->getUrl('bundles/acmedemo/js/a.js') ?>" type="text/javascript" /></script>--> 
<?php foreach ($view['assetic']->javascripts(
    array('@AcmeDemoBundle/Resources/public/js/a.js', 
      '@AcmeDemoBundle/Resources/public/js/b.js' 
    ), 
    array('uglifyjs2') 
) as $url): ?> 
    <script type="text/javascript" src="<?php echo $view->escape($url) ?>"></script> 
<?php endforeach; ?> 
</head> 
<body> 

<div class="c2">Hello</div> 

</body> 
</html> 

제어기,536,

/** 
* @Route("/test", name="_demo_contact") 
* @Template() 
*/ 
public function testAction(){ 
    return $this->render('AcmeDemoBundle:Demo:a.html.php'); 
} 
+0

전체 자습서 또는 단계가 감지 될 것 –

답변

0

이 단락을보세요. http://symfony.com/doc/current/cookbook/assetic/asset_management.html#controlling-the-url-used.

PHP 버전을 켜면 세 번째 매개 변수로 배열이 output 값으로 전달되어야합니다.

예.

<?php foreach ($view['assetic']->javascripts(
     array('@AcmeDemoBundle/Resources/public/js/a.js', 
       '@AcmeDemoBundle/Resources/public/js/b.js' 
     ), 
     array('uglifyjs2'), 
     array('output' => 'js/compiled/main.js') 
    ) as $url): ?> 
    <script type="text/javascript" src="<?php echo $view->escape($url) ?>"></script> 
<?php endforeach; ?> 
+0

당신이'''응용 프로그램/콘솔 assetic 실행 않았다 내가 –

+0

을 시도 작동하지 : --env = prod''' 덤프를? –

+0

경로 "assetic.bundles.0"에 대한 구성이 잘못되었습니다. "AcmeDemoBundle"은 유효한 번들이 아닙니다. "AcmeDemoBundle"은 유효한 번들이 아닙니다. –