मैं requjs का उपयोग कर एक एकल पेज रीढ़ की हड्डी ऐप विकसित कर रहा हूं, और आज जब मैंने अपने बीटा सर्वर पर तैनात किया, तो मुझे पता चला कि प्रारंभिक पृष्ठ लोड लगभग 20 सेकंड था जब यह सभी स्क्रिप्ट प्राप्त करता था।क्यों आवश्यक है .js प्रारंभिक पृष्ठ लोड पर मेरे सभी मॉड्यूल लोड कर रहा है?
मैं मान लिया था, क्योंकि मैं इस निर्भरता सरणी का उपयोग कर रहा था जब इतनी तरह मॉड्यूल को परिभाषित:
define([
'ui',
'models/user',
'collections/campaigns',
'collections/groups',
'collections/keywords',
'collections/inboxes',
'collections/templates',
'collections/contacts',
'router'
], function (Ui, UserDetails, Campaigns, Groups, Keywords, Inboxes, Templates, Contacts, Router) {
return {
start: function() {
// ...
// initialize and start app
// ...
}
}
});
कौन सा मैं मानना था मतलब है कि जब मुख्य आवेदन मॉड्यूल लोड किया गया था, हर दूसरे स्क्रिप्ट लोड किया जाएगा, की वजह से तथ्य यह है कि प्रत्येक एकल मॉड्यूल इस विधि का उपयोग कर रहा था। फिर,
define(function (require) {
return Backbone.Router(function() {
// ...
// route initializtion etc
// ...
inbox: function (routeVar) {
var InboxView = require('InboxView');
this.inboxView = new InboxView();
// render view etc
}
});
});
हालांकि मेरे आश्चर्य करने के लिए एप्लिकेशन चल रहा पर और जाँच:
मैं तो मॉड्यूल प्राप्त करते समय उन्हें प्राप्त करने के रूप में मैं उन्हें require('...')
सीधे फोन करके की जरूरत है जब मैं इस तरह उन्हें जरूरत के तरीके को बदल दिया क्रोम डेवलपर कंसोल का नेटवर्क टैब - मैंने देखा कि एप्लिकेशन के पहले मेरे सभी मॉड्यूल ला रहे हैं, और मुझे एक ही पृष्ठ लोड समय मिल रहा है।
क्या मैं यहां पूरी तरह से इस बिंदु को याद कर रहा हूं? जैसा कि मैं इस धारणा के तहत था कि स्क्रिप्ट प्रत्येक आवश्यकता के कॉल पर लाई जाएगी। क्या यह सही नहीं है?
अच्छी तरह से मैंने वास्तव में सोचा था कि यह स्क्रिप्ट लोड करते समय ब्लॉक करेगा, जानकारी के लिए धन्यवाद – jcvandan
उत्तर के लिए चीयर्स, जैसा कि आपने सुझाव दिया है कि एक असीमित अनुरोध कर रहा है जैसा आपने सुझाव दिया है। मैंने अब अपने शुरुआती पेज लोड को काफी हद तक कम कर दिया है। आपका बहुत बहुत धन्यवाद! – jcvandan
"['आवश्यकता', 'इनबॉक्स व्यू']" का अर्थ क्या है? मैंने कभी ऐसा कुछ नहीं देखा। धन्यवाद। –