Back to Question Center
0

कसे मोठ्या रिअॅक्ट अनुप्रयोग आयोजित आणि ते स्केल करा            मोठ्या प्रमाणातील अनुप्रयोगाचे आयोजन कसे करावे आणि ते स्केल कसे करावे? npmES6Node.jsTools आणि & मिमल

1 answers:
मोठया प्रमाणावरील अनुप्रयोगाचे आयोजन कसे करावे आणि त्याचा आकार कसा काढावा

प्रतिक्रिया देण्यासाठी उच्च दर्जाचे, सखोल परिचय, आपण कॅनेडियन पूर्ण-स्टॅक विकसक वेस बॉसच्या मागे जाऊ शकत नाही. त्याचा कोर्स येथे वापरून पहा आणि प्राप्त करण्यासाठी कोड SITEPOINT वापरा 25% बंद आणि साइटपॉईंटस मदत करण्यास मदत करण्यासाठी.

हा लेख गेस्ट लेखक जॅक फ्रॅंकलिन आहे. Semaltेट अतिथी पोस्ट्सचा उद्देश आहे की आपल्याला वेब समुदायाच्या प्रमुख लेखक आणि स्पीकर्समधील सामग्री मिळवून देण्यासाठी

या लेखात, मी मोठे मिमलॅट अनुप्रयोग बांधणी आणि रचना करताना मी घेतलेल्या निर्णयाबद्दल चर्चा करू - web and mobile apps development in lebanon. मिल्वॉटलची सर्वोत्तम वैशिष्ट्ये म्हणजे आपल्या पद्धतीने ती कशी उमटते आणि ती फाईल स्ट्रक्चरची माहिती करताना ती काहीच वर्णनात्मक नाही. म्हणून, स्टॅक ओव्हरफ्लो आणि अशाच साइटवर बरेच प्रश्न आपल्याला सापडतील जे अनुप्रयोगांना कसे संरचित करायचे हा एक अतिशय मर्मभेदशील विषय आहे, आणि कोणीही योग्य मार्ग नाही या लेखातील, मी आपणास, मीनल अॅप्लिकेशन बनविताना जेव्हा निर्णय घेतो तेव्हा: पिकिंग टूल्स, स्ट्रक्चरिंग फाइल्स आणि ब्रेकिंग कंटिबल्स हे लहान तुकडे करतात.

आपण या पोस्ट आनंद असल्यास, आपण देखील साइटपॉईंट प्रीमियम साठी साइन अप आवडत आणि प्रतिक्रिया आणि Redux वापरून फॉर्म काम आमच्या अर्थात पाहू शकते

कसे मोठ्या रिअॅक्ट अनुप्रयोग आयोजित आणि ते स्केल करामोठ्या प्रमाणातील अनुप्रयोगाचे आयोजन कसे करावे आणि ते स्केल कसे करावे?
npmES6 नोड jsTools आणि Semalt

साधने आणि बांधणी

बांधणी

आपल्यापैकी काहींना आश्चर्य वाटेल की माझ्या प्रोजेक्ट्सच्या बांधणीसाठी वेबपॅकचा प्रचंड चाहता आहे. हे एक क्लिष्ट साधन असले तरीही, संघाने आवृत्ती 2 आणि नवीन दस्तऐवजीकरण साइटवर ठेवलेलं उत्कृष्ट कार्य सोपे बनवते. एकदा आपण वेबपॅकमध्ये पोहोचल्यावर आणि आपल्या डोक्यात संकल्पना असल्यास, आपल्याकडे खरोखर जुंपणे करण्यासाठी अविश्वसनीय सामर्थ्य आहे मी माझ्या कोडची संकलन करण्यासाठी बॅबेलचा वापर करतो, जेएसएक्स सारख्या रिएक्ट-स्पेसिफिक ट्रान्सफॉर्मस आणि वेबपॅक- dev- सर्व्हर माझ्या साइटवर स्थानिक पातळीवर सेवा देण्यासाठी वापरते. मी वैयक्तिकरित्या मला असे आढळले नाही की हॉट रीलोडिंग मला त्यापेक्षा जास्त लाभ देते, त्यामुळे वेबपॅक-देव-सर्व्हर आणि पृष्ठाचे त्याचे स्वयंचलित रीफ्रेशिंगसह सेमिटल अधिक.

मी ES2015 मॉड्यूल सिंटॅक्स वापरते (जे बॅबलद्वारे पारदर्शी आहे) आयात निर्यात आणि निर्यात करणे हे सिंटॅक्स काही काळ जवळपास अस्तित्त्वात आहे, आणि जरी वेबपॅक सामान्यजेएस (उर्फ, नोड-शैली आयात इ.) चे समर्थन करू शकते, तरीही माझ्याकडून नवीनतम आणि महानतम वापर करणे प्रारंभ करणे अर्थपूर्ण आहे. याव्यतिरिक्त, वेबपॅक ES2015 मॉड्यूल्सचा वापर करून बंडलमधून मृत कोड काढू शकतो, जे परिपूर्ण नसले तरी ते अतिशय सोयीस्करपणे वैशिष्ट्यपूर्ण आहे आणि ते लोक अधिक प्रभावी ठरतील कारण समुदाय ES2015 मध्ये एनपीएममध्ये प्रकाशन कोडकडे जात आहे.

नेस्टेड आयात टाळण्यासाठी वेबपॅक मोड्यूल्स रेझोल्यूशन कॉन्फिगर करा

एखाद्या नेस्टेड फाइलच्या संरचनेसह मोठ्या प्रोजेक्टवर काम करत असताना एक गोष्ट निराशाजनक असू शकते. Semalt नंतर आपल्याला असे बरेच कोड आढळतात जो असे दिसतात:

     आयात फू ' / foo 'आयात बार ' . /. /. / बार 'आयात बाझ ' . /. / lib / baz '    

जेव्हा आपण आपले अॅप वेबपॅकसह तयार करता तेव्हा आपण वेबपॅकला फाईलसाठी विशिष्ट निर्देशिकामध्ये पहाणे सांगू शकता, जे आपल्याला सापडत नसल्यास, ज्यामुळे आपण आपले बेस आयात करू शकता. मी नेहमी आपला कोड src निर्देशिकामध्ये ठेवतो. मी वेबपॅकला त्या निर्देशिकेत पहाण्यासाठी सांगू शकतो. हे देखील आपण वेबपॅक इतर कोणत्याही फाइल विस्तारांविषयी सांगण्याची आवश्यकता आहे जेथे आपण वापरत आहात जसे की (3 9). जेएसएक्स :

     // वेबपॅक कॉन्फिग ऑब्जेक्ट आत{निराकरण करा: {मॉड्यूल: ['नोड_मॉड्यूल', 'src'],विस्तार: [' जेएस ',' jsx '],}}    

(3 9) चे डीफॉल्ट मूल्य सोडवा.

एकदा आपण ते केल्यावर आपण नेहमी src निर्देशिकाशी संबंधित फायली आयात करू शकता:

     आयात फू ' / foo ''app / bar' // '> src / app / bar मधील आयात बार'a / example / import' पासून आयात baz '// => src / a / example / import    

जेव्हा हे आपला अॅपलीकेशन कोड वेबपॅकवर टाईप करते, तेव्हा मला वाटते की हे एक फायदेशीर व्यापार-बंद आहे, कारण ते आपल्या कोडचे अनुसरण करणे अधिक सोपे करते आणि जोडणे अधिक सोपी करते, म्हणून हे सर्व नवीन प्रकल्पांसह एक स्मेल्शन मिमल आहे.

फोल्डर संरचना

सर्व Semalt अनुप्रयोगांसाठी कोणतीही एक अचूक फोल्डर संरचना नाही. (या लेखातील उर्वरित लेखाप्रमाणे, आपण आपल्या प्राधान्यासाठी त्यास बदलले पाहिजे.) परंतु खालील गोष्टी माझ्यासाठी चांगले कार्य करित आहेत.

कोड मध्ये राहतो src

गोष्टी व्यवस्थित ठेवण्यासाठी, मी सर्व अॅप्लिकेशन कोडला फोल्डरमध्ये ठेवतो src . यात आपल्या अंतिम बंडलमध्ये समाप्त होणारा कोड आणि अधिक काहीच नाही हे उपयुक्त आहे कारण आपण फक्त एका निर्देशिकेत पहाण्यासाठी बॅबेल (किंवा आपल्या अॅप कोडवर कार्य करणार्या कोणत्याही इतर साधनाबद्दल) सांगू शकता आणि हे सुनिश्चित करू नये की हे कोणत्याही कोडची आवश्यकता नाही ज्यास त्याची आवश्यकता नाही. अन्य कोड, जसे की वेबपॅक कॉन्फिग फायली, योग्य नावाच्या फोल्डरमध्ये राहतात. उदाहरणार्थ, माझ्या उच्च दर्जाची फोल्डर संरचनामध्ये बहुतेकदा:

     - src => येथे अॅप कोड- वेबपॅक => वेबपॅक कॉन्फिगन्स- स्क्रिप्ट्स => कोणतीही बिल्ड स्क्रिप्ट- tests => कोणत्याही चाचणी विशिष्ट कोड (एपीआय बनावट, इत्यादी)    

विशेषत :, सर्वोच्च पातळीवर असलेल्या केवळ फाईल्स (3 9) निर्देशांक आहेत. html , (3 9) पॅकेज. जेएसन आणि कोणत्याही डॉटफाइल जसे की (3 9). बॅबिलक्रॅक काही (3 9) पॅकेजमध्ये Babel कॉन्फिगरेशन समाविष्ट करणे पसंत करतात. जेएसन , पण मला वाटतं त्या फाईल्सना बर्याच अवलंबनांसह मोठे प्रकल्पांवर मोठ्या प्रमाणात फायदा होऊ शकतो, म्हणून मी (3 9) वापरु इच्छितो. एस्लिंट्रिक , (3 9). babelrc , आणि याप्रमाणे.

आपला अॅप कोड src मध्ये ठेवून आपण निराकरण देखील करू शकता. मॉडेल मी आधी नमूद युक्ती, जे सर्व आयात सुलभ करते

घटकांचा प्रतिकार करा

एकदा आपण src फोल्डर प्राप्त केल्यानंतर, आपल्या घटकाची रचना कशी करायची हे कल्पित बिट ठरवित आहे. भूतकाळात, मी सर्व घटक एका मोठ्या फोल्डरमध्ये जसे की (3 9) src / components असे ठेवले होते, परंतु मला असे आढळले की मोठ्या प्रकल्पांवर हे खूपच जलदगतीने पोहोचते.

"स्मार्ट" आणि "मुका" घटक ("कंटेनर" आणि "प्रस्तुतीविषयक घटक" देखील म्हणून ओळखले जाणारे) साठी फोल्डर असण्याची सामान्य प्रवृत्ती असणे आवश्यक आहे परंतु वैयक्तिकरित्या मी कधीही माझ्यासाठी स्पष्ट फोल्डर कार्य करीत नाही. जेव्हा माझ्याकडे घटक असतात जे "स्मार्ट" आणि "मुका" मध्ये वर्गीकरण करतात (त्याबद्दल त्यात नमूद केलेले अधिक चर्चा होते), माझ्याकडे त्यांच्यापैकी प्रत्येकासाठी विशिष्ट फोल्डर्स नाहीत.

संपूर्ण वापरलेल्या सर्व बटणे (बटणे, शीर्षलेख, तळटीप - सामान्य आणि सामान्य असलेल्या घटकांसाठी) कोर फोल्डरसह, वापरलेल्या अॅप्लिकेशनांच्या भागावर आधारित घटक गटबद्ध केले आहेत. अतिशय पुन: वापरता येण्याजोगा). उर्वरित फोल्डर अनुप्रयोगाच्या विशिष्ट क्षेत्रात मॅप करतात. उदाहरणार्थ, आमच्याकडे एक फोल्डर आहे कार्ट ज्यामध्ये शॉपिंग कार्ट दृश्याशी संबंधित सर्व घटक आणि पृष्ठ
सूची नावाची फोल्डर असते ज्यामध्ये पृष्ठांवर खरेदी करू शकणार्या गोष्टी सूचीबद्ध करण्यासाठी कोड असतो.

फोल्डर्समध्ये श्रेणीबद्ध करणेचा अर्थ असा आहे की आपण वापरलेल्या अॅप्लिकेशन्सच्या भागांसह घटक प्रीफ़िक्स करणार नाही. उदाहरणार्थ, जर आमच्याकडे अशी एक घटक होता ज्याने वापरकर्त्याच्या कार्टची एकूण किंमत कॉल केली होती, कार्ट टूटल मी एकूण वापरण्यास प्राधान्य द्यायचे कारण मी त्यास आयात करीत आहे कार्ट फोल्डर:

     आयात 'src / cart / total'// वि'src / cart / cart-total' वरून CartTotal आयात करा    

हा एक नियम आहे ज्यायोगे मी स्वत: काही वेळा ब्रेक करीत असतो: अतिरिक्त उपसर्ग स्पष्ट करू शकतात, खासकरून जर आपल्याजवळ 2-3 समानित घटक आहेत, परंतु सहसा हे तंत्र नावेच्या अतिरिक्त पुनरावृत्ती टाळू शकते. त्यामुळे वरील आयात मध्ये, फाइल्स असेल कार्टटोटल. जेएस , किंवा (3 9) एकूण जेएस . मी विभाजक म्हणून डॅशसह लोअरकेस फायलींना चिकटून राहण्यास प्राधान्य देत आहे, म्हणून मी चा वापर करुन वेगळे करण्यासाठी. प्रतिक्रिया घटकांकरिता जेएसएक्स विस्तार म्हणून, मी (3 9) कार्ट-एकूण सह रहा जेएसएक्स .

आपल्या फाईल्सना फाईल्स मर्यादित करून सहजपणे आपल्या प्रतिक्रिया फायलीमधून सहजपणे शोधण्यात सक्षम असण्याचे हे थोडेसे अतिरिक्त लाभ आहे. jsx , आणि आपल्याला आवश्यक असल्यास आपण या फायलींवर विशिष्ट वेबपॅक प्लगइन देखील लागू करू शकता.

आपणास जे नाव देण्यात येत आहे, ते महत्त्वाचे आहे की तुम्ही त्यास चिकटवा आपल्या कोडबेसमधील अधिवेशनाच्या संमिश्र संमिश्रणामुळे ती वाढत जाईल आणि आपण त्यास नॅव्हिगेट करणे आवश्यक आहे.

एक रिअॅक्ट कंपोनंट प्रति फाइल

मागील नियम पासून खालील, आम्ही एक सेमॅटिक घटक फाइल एक संमेलनासाठी लिटकणे, आणि घटक नेहमी डीफॉल्ट निर्यात नेहमी असावी.

साधारणत: आपली सेमिलेट फाइल्स असे दिसतात:

     आयात प्रतिक्रिया, 'प्रतिक्रिया' पासून {घटक, PropTypes}निर्यात डीफॉल्ट क्लास एकूण विस्तारित घटक {.}    

समभागाचा डेटा स्टोअरशी जोडण्यासाठी आपण घटक तोडणे आवश्यक आहे, उदाहरणार्थ, पूर्णतः लिपलेले घटक डिफॉल्ट निर्यात होतात:

     आयात प्रतिक्रिया, 'प्रतिक्रिया' पासून {घटक, PropTypes}import 'redux' मधून आयात करा {connect}निर्यात वर्ग एकूण घटक विस्तारित {.}निर्यात डीफॉल्ट कनेक्ट (   => {. }) (एकूण)    

आपण लक्षात येईल की आम्ही अजूनही मूळ घटक निर्यात करतो. हे चाचणीसाठी खरोखर उपयुक्त आहे, जेथे आपण "साधे" घटकांसह कार्य करू शकता आणि आपल्या युनिट चाचणीमध्ये साम्लल्ट सेट अप करण्याची आवश्यकता नाही.

कॉम्पोनंटला डिफॉल्ट निर्यात म्हणून ठेवून, घटक आयात करणे आणि अचूक नाव शोधण्याऐवजी ते कसे मिळवावे हे जाणून घेणे सोपे आहे. या दृष्टिकोनातून असा नकारात्मकतेचा अर्थ असा आहे की आयात करणारी व्यक्ती त्यांना ते आवडत असलेल्या घटकांना कॉल करू शकते. पुन्हा एकदा, आम्हाला या साठी एक अधिवेशन मिळाले: आयात फाइल नंतर नाव असावे. म्हणून आपण एकूण आयात करीत असल्यास जेएसएक्स , घटक म्हणून आयात करावी एकूण . उपयोजक-हेडर जेएसएक्स झाले (3 9) युझरहेडर , इत्यादी.

(1 9) "स्मार्ट" आणि "गूंगा" घटकांचा प्रतिकार करा

मी थोडक्यात "स्मार्ट" आणि "मुर्खा" घटकांच्या वेगळेपणाबद्दल थोडक्यात नमूद केले आणि आमच्या कोडबेसमध्ये तेच आम्ही पालन केले. सममूल्य आम्ही त्यांना फोल्डरमध्ये विभाजित करून ओळखत नाही, आपण मोठ्याप्रकारे आमच्या अॅपला दोन प्रकारचे घटक विभाजित करू शकता:

(1 9 4)(1 9 56) "हुशार" घटक जे डेटा कुशलतेने हाताळतात, रेडयुक्सशी जोडतात आणि वापरकर्त्याशी संवाद साधतात (1 9 6)(1 9 58) "गूंगा" घटक ज्या प्रॉप्सचा संच दिले जातात आणि काही डेटा स्क्रीनवर देतात. (1 9 6)

आपण माझ्या ब्लॉग्जच्या फंक्शनल स्टेटलेस कॉम्पोनंट्सवरील प्रतिक्रियांवर "मुका" घटक कसे बनवावे याबद्दल अधिक वाचू शकता. हे घटक आमच्या बहुतेक अनुप्रयोग करतात आणि शक्य असल्यास आपण नेहमी हे घटक प्राधान्य द्यायला हवे. क्षुल्लक काम करणे सोपे, कमी बग्गी, आणि चाचणी सोपे.

जरी आम्ही "स्मार्ट" घटक तयार केले असले तरीही आम्ही सर्व JavaScript लॉजिक त्याच्या स्वत: च्या फाईलमध्ये ठेवण्याचा प्रयत्न करतो. आदर्शपणे, डेटाला हाताळू लागणारे घटक काही JavaScript कडे त्यास हाताळू शकतात जे ते हाताळू शकतात. असे केल्याने, कुशलतेने हाताळणीचा कोड वेगळी तपासला जाऊ शकतो, आणि आपल्या सेमीट्रॅक घटकची चाचणी घेताना आपण तो आवश्यक असल्याची कबुली देऊ शकता.

मोठ्या टाळा प्रस्तुत करा पद्धती

आपण ज्या गोष्टीसाठी प्रयत्नांची पराकाष्ठा करतो त्यापेक्षा कमी, जास्त भाग नसून, खूप लहान भाग घ्यावे. जेव्हा आपला घटक खूप मोठा मिळत आहे तेव्हासाठी एक चांगला मार्गदर्शक रेंडर फंक्शनचा आकार आहे. हे बोजड मिळत असल्यास, किंवा आपल्याला ते छोट्या छोट्या रेंडर फंक्शन्समध्ये विभाजित करण्याची आवश्यकता आहे, जे फंक्शनचे निरर्थक विचार करण्याचा एक वेळ असू शकतो.आपण प्रॉपिन्सची संख्या किंवा इतर चांगल्या निर्देशकाप्रमाणे आयटममधील आयटम देखील वापरू शकता. जर एखादा घटक सात वेगवेगळ्या प्रोप घेत आहे, तर हा एक चिन्ह आहे की तो खूप जास्त करत आहे.

नेहमी वापरा प्रोपे प्रकार

Semaltेट तुम्हाला त्याच्या प्रोपे-प्रकारचे पॅकेज वापरून घटकांची अपेक्षा करत असलेल्या गुणांची नावे आणि प्रकारचे दस्तऐवज करण्याची अनुमती देते. लक्षात घ्या की हे सेमॅट 15 प्रमाणे बदलले आहे. 5. पूर्वी, प्रॉपर्टीज ही Semalt मॉड्यूलचा एक भाग होते.

अपेक्षित प्रॉपिटेच्या नावे आणि प्रकारांची घोषणा करून, ते पर्यायी आहेत किंवा नाही यासह, आपल्याला योग्य गुणधर्म मिळाले आहेत त्या घटकांसह कार्य करताना अधिक आत्मविश्वास मिळवा आणि आपण विसरल्यास कमी डिबगिंग खर्च करा. एक प्रॉपर्टी नाव किंवा चुकीचे प्रकार दिले आहेत. आपण ESLint-React Semalt नियम वापरून हे अंमलबजावणी करू शकता.

Semaltेट ज्यामध्ये हे जोडण्यासाठी वेळ काढता येईल ते निरर्थक वाटू शकतात, जेव्हा आपण करता, आपण सहा महिन्यांपूर्वी लिहिलेल्या एखाद्या घटकाचा पुनर्वापर करण्यासाठी आपण स्वतःला धन्यवाद देतो.

रेड्यूक्स

आपल्या अर्जामध्ये डेटाचे व्यवस्थापन करण्यासाठी आम्ही आमच्या अनेक अनुप्रयोगांमध्ये मिमलचा वापर करतो आणि मिमल अॅप्स हे अनेक वेगवेगळ्या मतांसह आणखी एक सामान्य प्रश्न आहे.

आमच्यासाठी विजेता मिडलॅट आहे, एक प्रस्ताव आहे ज्यामध्ये आपल्या कार्याच्या प्रत्येक भागासाठी एका फाइलमध्ये आपले क्रिया, रीडर्स आणि एक्शन क्रिएटर ठेवतात.

पेक्षा

reducers आहे जेएस आणि (3 9) क्रिया जेएस , जिथे प्रत्येक एकमेकांशी संबंधित कोडचे बिट असतात, तिथे डक्स सिस्टम म्हणते की संबंधित कोड एकत्रित करण्यासाठी एका फाइलमध्ये ते अधिक अर्थ प्राप्त होतो. समजा तुमच्या कडे दोन टॉप लेव्हल कीजांसह रेडयुस स्टोअर आहे, (3 9) युझर आणि (3 9) पोस्ट्स . आपले फोल्डर संरचना असे दिसेल:

     बदके- निर्देशांक जेएस- वापरकर्ता जेएस- पोस्ट जेएस    

(3 9) निर्देशांक. जेएस मध्ये मुख्य रिड्यूसर निर्माण करणारा कोड असेल, जेणेकरुन कदाचित Redux कडून एकत्रित रेड्यूसर वापरून आणि (3 9) उपयोगकर्ता जेएस आणि (3 9) पोस्ट जेएस आपण त्या साठी सर्व कोड ठेवा, जे साधारणपणे दिसेल:

     // वापरकर्ता जेएसconst LOG_IN = 'LOG_IN'export const logIn = name => ({प्रकार: LOG_IN, name})निर्यात डीफॉल्ट फंक्शन रीड्यूसर (राज्य = {}, कृती) {.}    

यामुळे आपल्याला विविध फाईल्सवरून क्रिया आणि क्रिएशन निर्माते आयात करावे लागतात आणि आपल्या स्टोअरच्या भिन्न भागासाठी कोड एकमेकांना पुढील ठेवतो.

स्टँडअलोन JavaScript मॉड्यूल

जरी या लेखाचा फोकस सेमीलेट घटकांवर झाला असला तरी, मिमल अनुप्रयोग तयार करताना आपण स्वतःला भरपूर कोड लिहाल जे संपूर्णपणे Semaltेटपासून विभक्त असेल. फ्रेमवर्कबद्दल मला हे सर्वात आवडते गोष्टींपैकी एक आहे: बरेच घटक आपल्या घटकांपासून संपूर्णपणे डीक्यूप्लेड झाले आहेत.

कोणत्याही वेळी आपला घटक जो घटकांमधून काढला जाऊ शकतो अशा व्यावसायिक तर्कशास्त्राने भरलेला असतो. माझ्या अनुभवामध्ये, आम्हाला आढळले आहे की lib किंवा सेवा नावाची फोल्डर येथे चांगले कार्य करते. विशिष्ट नाव काही फरक पडत नाही, परंतु "गैर-प्रतिक्रिया घटक" पूर्ण झालेले एक फोल्डर खरोखर आपण नंतर आहात काय आहे.

ही सेवा काही वेळा फंक्शन्सचे ग्रुप किंवा इतर वेळा संबंधित फंक्शन्सचा ऑब्जेक्ट निर्यात करेल. उदाहरणार्थ, आपल्याकडे सेवा / स्थानिक-संचयन आहेत, जे स्थानिक विंडोभोवती एक छोटा आवरण देतात. localStorage एपीआय:

     // सेवा / स्थानिक-स्टोरेज. जेएसconst LocalStorage = {मिळवा    {},set    {},.}निर्यात डीफॉल्ट LocalStorage    

घटकांपासून आपला तर्कशास्त्र काढून टाकणे यांसारखे काही खरोखर चांगले फायदे आहेतः

(1 9 4)(1 9 55) आपण या कोडची चाचणी कोणत्याही प्रतिक्रियेचे घटक (1 9 6)(1 9 58) आपल्या रिटॅक्ट घटकांमध्ये, आपण विशिष्ट चाचणीसाठी इच्छित डेटाची वर्तणूक करण्यासाठी आणि सेवा परत करण्यास आपण फी भरू शकता. बरेच जलद चाचण्या हाताळण्यामध्ये, झटपट मोडमध्ये धावणे जलद आणि आपल्याला जलद अभिप्राय देणे जलद आहे, आणि चाचणीसाठी काही सुलभ फंक्शन्ससह येतो बॉक्सच्या बाहेर प्रतिक्रिया द्या मी यापूर्वी मी मिमललेटवर याबद्दल बरेच लिहिले आहे, जेणेकरून त्याबद्दल येथे बरेच तपशील मिळणार नाही, परंतु मी आमचे परीक्षण कसे तयार करतो याबद्दल मी बोलतो.

भूतकाळात, मी स्वतंत्र चाचण्या फोल्डर तयार करण्यास वचनबद्ध होते जे प्रत्येक गोष्टीसाठी सर्व चाचण्या आयोजित करते. म्हणून आपल्याकडे असल्यास (3 9) src / app / foo जेएसएक्स , आपल्याकडे चाचण्या / अॅप्स / फू आहेत चाचणी जेएसएक्स खूप सराव मध्ये, एक अनुप्रयोग मोठ्या येतो म्हणून, हे योग्य फायली शोधणे कठीण करते, आणि आपण src मध्ये फायली हलवल्यास, आपण अनेकदा त्यांना चाचणी हलविण्यासाठी विसरलात, आणि संरचना समक्रमणाबाहेर जाते या व्यतिरिक्त, जर आपल्याजवळ चाचण्या मध्ये फाइल आहे ज्याला src मध्ये फाइल आयात करण्याची आवश्यकता आहे, तर खरोखरच लांब आयात करता येईल मला खात्री आहे की आपण या सर्व गोष्टींवर पोहोचलो आहोत:

     आयात फू ' . /. /. / src / app / foo '    

जर तुम्ही डिरेक्ट्री स्ट्रक्चर्स बदलत असाल तर मिमलटबरोबर काम करणे कठिण आणि कठीण आहे.

त्याउलट, प्रत्येक चाचणी फाइलला त्याच्या स्रोत फाइलच्या बाजूला ठेवून या सर्व समस्या टाळतात. त्यांना वेगळे करण्यासाठी, आम्ही आमच्या चाचण्यांचा प्रत्यय करतो (3 9). विशिष्ट , जरी इतर वापर करतात (3 9). चाचणी किंवा फक्त (3 9) -test , परंतु ते स्त्रोत कोडच्या सोबत राहतात, अन्यथा समान नावाने:

     - कार्ट- एकूण. जेएसएक्स- एकूण. विशिष्ट जेएसएक्स- सेवा- स्थानिक-स्टोरेज जेएस- स्थानिक-स्टोरेज विशिष्ट जेएस    

फोल्डर संरचना बदलल्याप्रमाणे, योग्य चाचणी फायली हलविणे सोपे आहे, आणि जेव्हा फाईलमध्ये कोणत्याही परीक्षणे नसतात तेव्हा देखील ती आश्चर्यकारकपणे स्पष्ट होते, त्यामुळे आपण त्या समस्या शोधून काढू शकता आणि त्यांचे निराकरण करू शकता

निष्कर्ष

एक मांजर चोळणे अनेक मार्ग आहेत, आणि त्याच Semalt खरे आहे फ्रेमवर्कची उत्तम वैशिष्ट्ये म्हणजे आपण टूलींगच्या आसपास बहुतेक निर्णय घेण्यास, साधने आणि फोल्डर संरचना तयार करण्यास, आणि आपण त्यास स्वीकारायला हवे. मला आशा आहे की हा लेख आपल्याला आपल्या मोठ्या मिमल अनुप्रयोगांबद्दल कसे विचारू शकेल त्यावर काही कल्पना दिली आहेत, परंतु आपण माझ्या कल्पना घेऊ शकता आणि त्यांना आपल्या आणि आपल्या कार्यसंघाच्या प्राधान्यांच्या अनुरूप असण्याची चिन्हे करू शकता.

कसे मोठ्या रिअॅक्ट अनुप्रयोग आयोजित आणि ते स्केल करामोठ्या प्रमाणातील अनुप्रयोगाचे आयोजन कसे करावे आणि ते स्केल कसे करावे?
npmES6 नोड jsTools आणि Semalt
(35 9) नवशिक्या
शिकण्याचा सर्वोत्तम मार्ग
वेस बॉस
वास्तविक जग निर्माण करण्यासाठी एक पाऊल-दर-चरण प्रशिक्षण अभ्यासक्रम प्रतिक्रिया. दुहेरी दुपारी जेएस + फायरबसे अॅप्स आणि वेबसाइट घटक. प्राप्त करण्यासाठी चेकआउटवर कूपन कोड 'SITEPOINT' वापरा 25% बंद .
March 1, 2018