مجموعة الأصول Assetenated في Debug Mode

أحاول استخدام Assetic في مشروع Symfony 2. لديّ الإعدادات التالية في ملفاتي config.yml:

# app/config/config.yml
assetic:
    debug:          %kernel.debug%
    use_controller: true
    filters:
        cssrewrite: ~
        yui_css:
            jar: /home/testing/bin/yuicompressor-2.4.7.jar
        less:
            node: /usr/bin/node
            node_paths: [/usr/local/bin/]
            apply_to: "\.less$"
    assets:
        all_js:
            inputs:
                - @FoundationViewBundle/Resources/public/js/*
            filters: [?yui_js]
        all_css:
            inputs:
                - @FoundationViewBundle/Resources/public/css/*
            filters: [less, ?yui_css]

(في حال كنت تتساءل ، لا يتم تجاوز هذه الإعدادات في ملف config_dev.yml.)

يتم التقاط هذه المجموعات بواسطة Assetic ويتم إنشاء الطرق لهم. هناك مسارات فردية لكل ملف برقم واسم الملف بدون امتداد الملف. على سبيل المثال ، بالنسبة لملف "base.css" ، يكون المسار لتنزيل الملف (مع تطبيق عوامل التصفية) هو "/ assetic/all_css_part_1_base_1".

أقوم بعد ذلك بتضمين مجموعات الأصول في نموذج Twig الخاص بي كما يلي:

{% stylesheets '@all_css' %}
    <link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}

(وبالمثل بالنسبة لمجموعة "all_js" ، لكنني سأستخدم جانب CSS لإثبات مشكلتي.)

عندما يعرض Twig القالب الخاص بي ، فإنه لا يستخدم التوجيهات التي تم إنشاؤها للملفات الفردية ، ولكن بدلاً من ذلك يعرض "asset_url" لمجموعة "all_css" كـ "/css/9118a5a_part_1.css".

أنا باستخدام وحدة تحكم الجبهة ديف واختبرت أن Assetic يعتقد أنه في وضع التصحيح. (لا يتم تطبيق عوامل تصفية الإنتاج فقط). ومع ذلك ، لا تزال الملفات متسلسلة ، على الرغم من المستندات التي تشير إلى خلاف ذلك.

من الصعب للغاية تعقب المشاكل في هذه الملفات حيث لا تتطابق أرقام الأسطر ، خاصةً مع أخطاء JavaScript. هل هناك شيء آخر أحتاج إلى القيام به لكي يتمكن Twig من عرض الملفات بشكل منفصل؟

0

2 إجابة

يمكنك فقط إدراج الأصول المنفصلة في القالب الخاص بك ، وستقوم بإنشاء ملفات منفصلة ، كما هو موثق هنا . على الإنتاج ، سيتم دمجها في ملف واحد.

0
وأضاف
كنت آمل في استخدام هذا القالب كجزء من حزمة يمكن استيرادها إلى عدة مشاريع وتضمين الأصول الصحيحة بناءً على تكوينات المشاريع. إذا وضعت الأصول مباشرة في القالب ، فلن تكون قابلة لإعادة الاستخدام بهذه الطريقة. (أعتقد أنه يمكنني وضع إدراج الأصول في كتل وتجاوزها بنموذج خاص بالمشروع ، إذا لم تكن هناك طريقة أخرى).
وأضاف المؤلف restouffer, مصدر

يجب عليك تحديد المعلمة ouput في كتل التكتين الخاصة بك على النحو التالي.

{% javascripts '@all_js' output="assetic/js/all.min.js" debug=false %}
   <script type="text/javascript" charset="utf-8" src="{{ asset_url }}">
{% endjavascripts %}

{% stylesheets '@all_css' output="assetic/css/all.min.css" debug=false  %}
   <link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}

The best would be to rely on output parameter specified in config.yml but unfortunately it doesn't work. It works to output the correct file when dumping the assets but not to insert asset automatically in twig. You have to specify it like in the previous example.

الوسيطة debug هنا اختيارية يقصد بها فرض وضع التصحيح لمجموعة محددة وإخراج ملفات مختلفة. يمكنك أيضًا تعيين هذه المعلمة في config.yml .

assets:
    all_js:
        inputs:
            - @FoundationViewBundle/Resources/public/js/*
        filters: [?yui_js]
        output: "assetic/css/all.min.js"
        debug: true
0
وأضاف