Django-compressor: هل تجمع وتسلسل ثم تنتقل إلى المرشحات؟

تم إنشاؤها على ١٥ أبريل ٢٠١١  ·  6تعليقات  ·  مصدر: django-compressor/django-compressor

أهلا! هل هناك أي طريقة لجمع وتسلسل CSS أو JS في كتلة معينة ثم _ ثم تمريرها عبر سلسلة تصفية؟ على وجه الخصوص ، أود استخدام pyScss لمعالجة SCSS الخاص بي. لقد قمت بإنشاء pySCSSFilter يمتد FilterBase ، وأود حقًا أن أفعل شيئًا مثل:

{% compress css %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ MEDIA_URL }}css/mixins.scss" />
<link rel="stylesheet" type="text/css" media="screen" href="{{ MEDIA_URL }}css/base.scss" />
<link rel="stylesheet" type="text/css" media="screen" href="{{ MEDIA_URL }}css/other.scss" />
{% endcompress %}

لكن بالطبع لا يعمل حيث تتم معالجة ملفاتي بمعزل عن بعضها البعض.

هل هناك طريقة؟

هتافات!

feature

التعليق الأكثر فائدة

من المهم جدًا عند استخدام معالجات css الأولية أن أقل من ذلك ، فإن مظهرها "الأساسي" يسمح باستخدام الخلطات. لذلك فإن تجميع الملفات قبل المعالجة من خلال عامل التصفية هو وظيفة لا بد منها. هل هناك أي خطط لدمج طلبات jannon التي تقوم بها dev فرع django_compressor؟

ال 6 كومينتر

حسنًا ، هذا بالضبط ما لا أريده.

ماذا لو لم يكونوا في نفس المسار الأساسي ، ولديهم نفس عبارات import لكنهم يشيرون إلى ملفات مختلفة لأنهم في مسارات مختلفة.

في الوقت الحالي لا يعمل import حتى لأن محتوى الملف مكتوب في ملف مؤقت قبل أن يتم تمريره إلى المعالج.

أقول معالجة الملفات واحدًا تلو الآخر ثم التسلسل بحيث تكون جميع مراجع التجميع صحيحة.

سأثني على التصويت لطريقة لربط الملفات قبل التجميع المسبق. سيكون هذا مفيدًا جدًا عند استخدام أقل وما إلى ذلك ، نظرًا لأن الاستعداد هو الاحتفاظ بالمزيجات والمتغيرات العامة في ملف واحد ودمجها قبل التجميع. في الوقت الحالي ، يتعين عليك تكرار هذه المتغيرات والمزج في كل ملف css ، أي إذا كان لديك مجموعة من المتغيرات العامة ذات ألوان البشرة المستخدمة في ملفات css المتعددة ، والتي تدمر نوعًا ما الغرض من استخدام المتغيرات العامة في أطر css مثل sass أو أقل ، ما لم تحتفظ بكل شيء في ملف واحد.

أنا أفهم المشكلة التي يذكرها hvdklauw ، لذلك ربما يمكن أن يكون خيارًا على كل كتلة ضغط رطبة أو عدم الدمج قبل التجميع المسبق أو بعده؟

gensmann تبدو إضافة خيار إلى كتلة الضغط وكأنها خطة ، نعم.

من المهم جدًا عند استخدام معالجات css الأولية أن أقل من ذلك ، فإن مظهرها "الأساسي" يسمح باستخدام الخلطات. لذلك فإن تجميع الملفات قبل المعالجة من خلال عامل التصفية هو وظيفة لا بد منها. هل هناك أي خطط لدمج طلبات jannon التي تقوم بها dev فرع django_compressor؟

فيما يتعلق بـ Sass ، فإن أسلوبي في هذا هو تحديد جميع مسارات التضمين لثنائي sass ثم @import الملفات الأخرى في ملفات scss الخاصة بي:

# app/settings/common.py
...
scss_args = " ".join(["--include-path %s/vendor/bourbon/app/assets/stylesheets/" % VENDOR_ROOT,
                      "--include-path %s/vendor/bootstrap-sass-official/vendor/assets/stylesheets/" % VENDOR_ROOT])
...

COMPRESS_PRECOMPILERS = (
    ('text/coffeescript', 'node_modules/.bin/coffee --compile --stdio'),
    ('text/x-scss', 'node_modules/.bin/node-sass %s {infile} {outfile}' % scss_args)
)
...
// app/common/static/css/screen.scss
<strong i="9">@import</strong> url("http://fonts.googleapis.com/css?family=Montserrat:400,700");
<strong i="10">@import</strong> "./vendor.scss";
<strong i="11">@import</strong> "./elements.scss";
<strong i="12">@import</strong> "./pages.scss";

body, html {
    font-family: 'Montserrat';
}
// app/common/static/css/vendor.scss
<strong i="15">@import</strong> "_bourbon.scss";
<strong i="16">@import</strong> "bootstrap.scss";
<! -- app/common/templates/base.html -->
...
{% compress css %}
<link href="{% static 'css/screen.scss' %}" type='text/x-scss' media='screen, projector' rel='stylesheet'>
{% endcompress %}
...

airtonix لقد بدأت في القيام بذلك ، ولكن التغييرات على أي ملفات @import 'ed لا تتم مراقبتها ، ولذا يحتاج الخادم إلى إعادة التشغيل لكل تغيير css فيه.
كندة مندهشة من أن هذه الميزة لم يتم تنفيذها بعد. قامت webassets بحل هذا الأمر ، مما سمح للمستخدمين باستخدام SASS_AS_OUTPUT = True ، والذي يقوم اختياريًا بتجميع الملفات أولاً.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

albertyw picture albertyw  ·  16تعليقات

jvc26 picture jvc26  ·  4تعليقات

oesah picture oesah  ·  6تعليقات

bobort picture bobort  ·  20تعليقات

dasloss picture dasloss  ·  6تعليقات