MVC4 StyleBundle Image Resolution Complexity
Keupayaan penggabungan MVC4 menawarkan penyelesaian yang mudah untuk mengoptimumkan aplikasi web. Walau bagaimanapun, pengendalian imej dalam berkas CSS menimbulkan cabaran yang unik, kerana laluan imej relatif dalam fail CSS mungkin pecah apabila digabungkan.
Seperti yang dinyatakan dalam soalan yang sama, mengekalkan laluan imej relatif asal semasa penggabungan boleh dicapai dengan menentukan laluan maya untuk StyleBundles yang tidak bercanggah dengan laluan kandungan fizikal sedia ada. Dalam kes ini, laluan berkas ditentukan sebagai "/Content/styles/jquery-ui", yang berbeza daripada laluan sebenar "/Content/css/jquery-ui" yang mengandungi fail dan imej CSS.
Walau bagaimanapun, pendekatan ini membawa kepada laluan imej yang rosak dalam penyemak imbas. Penyemak imbas meminta imej secara relatif kepada fail CSS yang digabungkan, mengakibatkan ralat 404.
Penyelesaian yang disyorkan adalah untuk menentukan berkas pada laluan yang sama dengan fail CSS sumber dalam berkas. Ini memastikan bahawa laluan imej relatif dalam fail CSS kekal sah. Sebagai contoh, definisi berkas berikut menyelesaikan isu laluan imej:
bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle") .Include("~/Content/css/jquery-ui/*.css"));
Sebagai alternatif, versi ASP.NET yang lebih baharu mungkin menyokong penggunaan CssRewriteUrlTransformation untuk mengubah suai laluan imej relatif dalam fail CSS yang digabungkan kepada laluan mutlak dalam direktori maya. Ini boleh dicapai menggunakan kod berikut:
bundles.Add(new StyleBundle("~/Content/css/jquery-ui/bundle") .Include("~/Content/css/jquery-ui/*.css", new CssRewriteUrlTransform()));
Pendekatan ini menulis semula laluan imej relatif kepada laluan mutlak, memastikan imej diselesaikan dengan betul. Ambil perhatian bahawa isu mungkin timbul jika penulisan semula mengubah laluan mutlak kepada laluan dalam direktori maya, jadi disyorkan untuk menguji pendekatan ini dengan teliti.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyelesaikan Isu Laluan Imej Apabila Menghimpun Fail CSS dalam Himpunan Gaya MVC4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!