2016-03-08 60 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文件沒問題。 –