簡體   English   中英

Symfony2 uglify CSS和JS

[英]Symfony2 uglify CSS and JS

我在嘗試着

PHP應用程序/控制台資產:轉儲

測試我的產品環境。 我的css文件正在生成,而不是我的js文件。 我有此錯誤消息:

C:\wamp\www\projet>php app/console assetic:dump --env=prod --no-debug
Dumping all prod assets.
Debug mode is off.

09:48:02 [file+] C:/wamp/www/projet/app/../web/css/666.css



[Assetic\Exception\FilterException]
An error occurred while running:
"C:\Program Files\nodejs\\node.EXE" "C:\wamp\www\projet\app\Resources\node_
modules\.bin\uglifycss" "C:\Users\GoeresAdmin\AppData\Local\Temp\inp3AC2.tm
p"

Error Output:

C:\wamp\www\projet\app\Resources\node_modules\.bin\uglifycss:4
case `uname` in
^^^^
SyntaxError: Unexpected token case
  at Module._compile (module.js:439:25)
  at Object.Module._extensions..js (module.js:474:10)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:312:12)
  at Function.Module.runMain (module.js:497:10)
  at startup (node.js:119:16)
  at node.js:906:3

這是我在布局中的javascript塊:

{% block javascripts %}
  {# jQuery depuis le CDN de Google, ou fallback sur une copie locale #}
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
    {# Tous nos javascripts avec Assetic #}
  {% javascripts output='js/666.js' filter='?uglifyjs2' 
    'js/*.js' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
  {% endjavascripts %}
{% endblock %}

而我正在運行的css塊:

{% block stylesheets %}
  {% stylesheets output='css/666.css' filter='?uglifycss'
    'css/*.css' %}
    <link rel="stylesheet" href="{{asset_url}}" type="text/css" />
  {% endstylesheets %}
{% endblock %}

我的app.php中有這行:

$kernel = new AppKernel('prod', false);

我的config.yml:

# Assetic Configuration
assetic:
debug:          %kernel.debug%
use_controller: false
bundles:        [ ]
filters:
    uglifyjs2:
        bin: %kernel.root_dir%/Resources/node_modules/.bin/uglifyjs
    uglifycss:
        bin: %kernel.root_dir%/Resources/node_modules/.bin/uglifycss

編輯:

我將代碼編輯為使用uglify而不是YUI。 但這比以前更糟,因為現在產品中都沒有運行JS和CSS。

您為uglifyjsuglifycss腳本配置了錯誤的路徑。 Assetic通過Node.js的可執行文件執行這些腳本-但是您配置了uglifyjsuglifycss二進制版本(獨立的)的路徑。

正確的配置為:

# Assetic Configuration
assetic:
debug:          %kernel.debug%
use_controller: false
bundles:        [ ]
filters:
    uglifyjs2:
        bin: %kernel.root_dir%/Resources/node_modules/uglify-js/bin/uglifyjs
    uglifycss:
        bin: %kernel.root_dir%/Resources/node_modules/uglifycss/uglifycss

uglifyjs腳本的正確路徑取決於您安裝的版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM