سؤال

هل من الممكن استخدام Razor View Engine (ASP.NET MVC) مع .less (على غرار Sass - http://lesscss.org/ لـ .NET) ، لأنهما يستخدمان "@blah"؟

ما أريد تحقيقه هو إنشاء ملفات CSS بدون طيبة ، مختلطة مع الحلاقة.

محدث:

آسف لكونك غير محدد بعض الشيء. ما أريد القيام به هو استخدام محرك View Razor داخل ملفات CSS (DotlessCSS). سيكون هذا لطيفًا من أجل الحصول على محددات الموقع مثل السمة المخصصة من المسؤول إلى ملف CSS.

المشكلة هي أن بناء الجملة سوف يعطل.

البديل هو استخدام C# أو بعض محرك العرض الآخر بدلاً من ذلك.

هل كانت مفيدة؟

المحلول

يجب أن تفكر في استخدام مكتبة Squishit Justin Etheredge. لا يشمل فقط مكتبة DotlessCSS ، بل ستجمع وتحديد CSS و JavaScript بسهولة!

إليك مثال على كيفية استخدام Squishit في Razor.

سوف يجمع الرمز التالي بين جميع ملفات CSS المشار إليها في ملف CSS واحد. سوف تفعل الشيء نفسه مع ملفات JavaScript.

@MvcHtmlString.Create(
  SquishIt.Framework.Bundle.Css()
    .Add("~/media/css/reset.css")
    .Add("~/media/css/style.less")
    .Add("~/media/css/handheld.css")
    .Render("~/media/css/combined_#.css"))

@MvcHtmlString.Create(
  SquishIt.Framework.Bundle.JavaScript()
    .Add("~/media/js/geo.js")
    .Add("~/media/js/jquery-1.4.4.js")
    .Add("~/media/js/jquery.unobtrusive-ajax.js")
    .Add("~/media/js/jquery.validate.js")
    .Add("~/media/js/jquery.validate.unobtrusive.js")
    .Render("~/media/js/combined_#.js"))

يبدو الإخراج هكذا:

<link rel="stylesheet" type="text/css" href="/media/css/combined_312454.css" />
<script type="text/javascript" href="/media/js/combined_312454.js"></script>

تحديث (أكثر من عام واحد) ...
مشروع آخر قد ترغب في النظر إليه كاسيت وهو ما يفعله كل ما يفعله Squishit (وأكثر).

نصائح أخرى

أقل ومحرك الحلاقة ليست ذات صلة.

إذا كنت مهتمًا باستخدام أقل ، تحقق من DotlessCSS. انظر لها مستودع GIT و ويكي. لسبب ما ، الموقع الرئيسي منخفض منذ أغسطس ولم يحصلوا عليها.

.NET 4.5 و MVC 4 لديها الآن هذا خارج الصندوق

http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top