2016-03-08 64 views
2

我使用uglifyjsuglifycsssymfony的来管理我的资产。 我有一个奇怪的问题。 这里是我的配置合并文件不被计入生产

# Assetic Configuration 
assetic: 
    debug:   "%kernel.debug%" 
    use_controller: false 
    bundles:  [ ] 
    filters: 
     cssrewrite: ~ 
     uglifyjs2: 
       # the path to the uglifyjs executable 
       bin: "%kernel.root_dir%/Resources/node_modules/uglify-js/bin/uglifyjs" 
     uglifycss: 
       bin: "%kernel.root_dir%/Resources/node_modules/uglifycss/uglifycss" 

在我看来

{% javascripts 
     '@MyBundle/Resources/public/js/global.js' 
     '@MyBundle/Resources/public/utilis/*.js' 
     '@MyBundle/Resources/public/utilis/*/*.js' 
     '@MyBundle/Resources/public/js/*.js' 
     '@MyBundle/Resources/public/js/*/*.js' 
     filter='?uglifyjs2' %} 

     <script src="{{ asset_url }}"></script> 

{% endjavascripts %} 

有了这个,我希望只有一个缩小的文件中包含我的网页。 在我的开发机器上(Windows 7,php 5.4,symfony 2.7),一切正常。 但是在生产环境(debian 7,php5.4,symfony 2.7)中,所有单个文件都包含在页面中。

<script src="/js/e434957_part_14_Store_1.js"></script> 
<script src="/js/e434957_part_15_CrudPanel_2.js"></script> 
<script src="/js/e434957_part_15_Form_3.js"></script> 
<script src="/js/e434957_part_15_Grid_4.js"></script> 

有人能帮我理解发生了什么吗?

回答

3

当您转储资产时,请确保您将--env=prod添加到assetic:dump命令。

您也可以强制结合combine=true参数的文件。但是它应该在生产环境中自动设置为true。

+0

是的,我使用--env = prod **选项转储我的资产**。这生成了模拟和组合的文件。但是,包含在页面中是不正确的。看来我的网站的行为与开发模式一样。 –

+0

你确定你的内核是prod?它应该是这样的'$ kernel = new AppKernel('prod',false);'在app.php –

+0

是的,我再次检查过,我的app.php文件没问题。 –