এই কোডটি রুটস.জেএসস নামে একটি ফাইলে রয়েছে
নিম্নলিখিতগুলি আমার পক্ষে কার্যকর হয়নি:
var scripts = document.getElementsByTagName("script")
var currentScriptPath = scripts[scripts.length-1].src;
var baseUrl = currentScriptPath.substring(0, currentScriptPath.lastIndexOf('/') + 1);
নিম্নলিখিতগুলি করেছেন:
var bu2 = document.querySelector("script[src$='routes.js']");
currentScriptPath = bu2.src;
baseUrl = currentScriptPath.substring(0, currentScriptPath.lastIndexOf('/') + 1);
আমার পরীক্ষাটি অলস লোড কৌণিকের প্রয়োজন সম্পর্কে নিম্নলিখিত ব্লগের উপর ভিত্তি করে তৈরি করা হয়েছে:
http://ify.io/lazy-loading-in-angularjs/
প্রয়োজনীয়.js একটি প্রয়োজনীয় কনফিগ বুটস্ট্র্যাপ বেনিজেট করে
প্রয়োজনীয় কনফিগ একটি কৌণিক অ্যাপ.জেসকে বীজেট করে
কৌণিক অ্যাপ্লিকেশন.জেএস আমার রুটস.জেসকে বীজ্ট করে
আমি একই কোডটি একটি রেভেল ওয়েব ফ্রেমওয়ার্ক এবং এসপ নেটওয়্যার এমভিসি দ্বারা পরিবেশন করা হয়েছিল। রিভেলে ডকুমেন্ট.জেট এলিমেন্টস বাইট্যাগনাম ("স্ক্রিপ্ট") আমার প্রয়োজনীয় বুটস্ট্র্যাপ জেএস ফাইল এবং আমার রুটস.জেগুলি নয় একটি পথ তৈরি করে। এএসপি.নেট এমভিসিতে এটি ভিজ্যুয়াল স্টুডিওর ইনজেকশন ব্রাউজার লিঙ্ক স্ক্রিপ্ট উপাদানটির একটি পথ তৈরি করে যা ডিবাগিং সেশনের সময় সেখানে রাখা হয়।
এটি আমার কাজের রুটস jজেএস কোড:
define([], function()
{
var scripts = document.getElementsByTagName("script");
var currentScriptPath = scripts[scripts.length-1].src;
console.log("currentScriptPath:"+currentScriptPath);
var baseUrl = currentScriptPath.substring(0, currentScriptPath.lastIndexOf('/') + 1);
console.log("baseUrl:"+baseUrl);
var bu2 = document.querySelector("script[src$='routes.js']");
currentScriptPath = bu2.src;
console.log("bu2:"+bu2);
console.log("src:"+bu2.src);
baseUrl = currentScriptPath.substring(0, currentScriptPath.lastIndexOf('/') + 1);
console.log("baseUrl:"+baseUrl);
return {
defaultRoutePath: '/',
routes: {
'/': {
templateUrl: baseUrl + 'views/home.html',
dependencies: [
'controllers/HomeViewController',
'directives/app-style'
]
},
'/about/:person': {
templateUrl: baseUrl + 'views/about.html',
dependencies: [
'controllers/AboutViewController',
'directives/app-color'
]
},
'/contact': {
templateUrl: baseUrl + 'views/contact.html',
dependencies: [
'controllers/ContactViewController',
'directives/app-color',
'directives/app-style'
]
}
}
};
});
রেভেল থেকে চলার সময় এটি আমার কনসোল আউটপুট।
currentScriptPath:http:
baseUrl:http:
bu2:[object HTMLScriptElement] routes.js:13
src:http:
baseUrl:http:
আর একটি দুর্দান্ত জিনিস আমি করেছি তা হ'ল প্রয়োজনীয় কনফিগারেশনের সুবিধা গ্রহণ করা এবং এতে কিছু কাস্টম কনফিগারেশন স্থাপন করা। অর্থাত্ অ্যাড
customConfig: { baseRouteUrl: '/AngularLazyBaseLine/Home/Content' }
তারপরে আপনি রুট.জেএস এর অভ্যন্তর থেকে নিম্নলিখিত কোডটি ব্যবহার করে এটি পেতে পারেন
var requireConfig = requirejs.s.contexts._.config;
console.log('requireConfig.customConfig.baseRouteUrl:' + requireConfig.customConfig.baseRouteUrl);
কখনও কখনও আপনি একটি বেসুরল সম্মুখভাগ সংজ্ঞায়িত করা প্রয়োজন, কখনও কখনও আপনি গতিশীল এটি তৈরি করা প্রয়োজন। আপনার পরিস্থিতির জন্য আপনার পছন্দ।