আমি বাইরে চেষ্টা করছি MVC4 System.Web.Optimization 1.0 ScriptBundle বৈশিষ্ট্য ।
আমার নিম্নলিখিত কনফিগারেশন রয়েছে:
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
// shared scripts
Bundle canvasScripts =
new ScriptBundle(BundlePaths.CanvasScripts)
.Include("~/Scripts/modernizr-*")
.Include("~/Scripts/json2.js")
.Include("~/Scripts/columnizer.js")
.Include("~/Scripts/jquery.ui.message.min.js")
.Include("~/Scripts/Shared/achievements.js")
.Include("~/Scripts/Shared/canvas.js");
bundles.Add(canvasScripts);
}
}
এবং নিম্নলিখিত দেখুন:
<script type="text/javascript" src="@Scripts.Url(BundlePaths.CanvasScripts)"></script>
যেখানে BundlePaths.CanvasScripts
হয় "~/bundles/scripts/canvas"
। এটি এটি রেন্ডার করে:
<script type="text/javascript" src="/bundles/scripts/canvas?v=UTH3XqH0UXWjJzi-gtX03eU183BJNpFNg8anioG14_41"></script>
এতদূর ভাল, ~/Scripts/Shared/achievements.js
ব্যান্ডেল করা উত্সের প্রথম স্ক্রিপ্টটি বাদে । এটি এর আগে অন্তর্ভুক্ত প্রতিটি স্ক্রিপ্টের উপর নির্ভর করে ScriptBundle
। আমি কীভাবে নিশ্চিত করতে পারি যে এটি যাতে বান্ডলে বিবৃতি অন্তর্ভুক্ত করে সেই আদেশটিকে সম্মান করে?
হালনাগাদ
এটি তুলনামূলকভাবে নতুন এএসপি.নেট এমভিসি 4 অ্যাপ্লিকেশন ছিল তবে এটি অপ্টিমাইজেশনের কাঠামো প্রি রিলিজ প্যাকেজটিকে উল্লেখ করেছে। আমি এটিকে অপসারণ করেছি এবং http://nuget.org/packages/Mic Microsoft.AspNet.Web.Optimization থেকে আরটিএম প্যাকেজ যুক্ত করেছি । আরটিএম সংস্করণটি ডিবাগ = ওয়েবকনফাইগের সাথে সত্য সহ, @Scripts.Render("~/bundles/scripts/canvas")
পৃথক স্ক্রিপ্ট ট্যাগগুলি সঠিক ক্রমে রেন্ডার করে।
ওয়েবকনফিগে ডিবাগ = মিথ্যা দিয়ে, সম্মিলিত স্ক্রিপ্টটির প্রথমে সাফল্য.জেএস স্ক্রিপ্ট রয়েছে, তবে এটি যেহেতু পরবর্তীতে ডাকা একটি ফাংশন সংজ্ঞা (অবজেক্ট কনস্ট্রাক্টর), এটি ত্রুটি ছাড়াই চলে। নির্ভরতা নির্ধারণের জন্য মিনিফায়ারটি যথেষ্ট স্মার্ট?
আমি IBundleOrderer
ডারিন ডিমিট্রভ আরটিএমের সাথে উভয় ডিবাগ বিকল্পের সাথে প্রস্তাবটি প্রয়োগের চেষ্টা করেছিলাম এবং এটি একই রকম আচরণ করে।
তাই সংক্ষিপ্ত সংস্করণটি আমার প্রত্যাশা অনুযায়ী নয় তবে এটি কার্যকর হয়।