Back to Question Center
0

ఎలా పెద్ద రియాక్ట్ అప్లికేషన్ నిర్వహించండి మరియు స్కేల్ చేయండి            ఒక పెద్ద రియాక్ట్ అప్లికేషన్ నిర్వహించడానికి మరియు స్కేల్ చేయడానికి ఎలా Topics: npmES6Node.jsTools & Semalt

1 answers:
ఎలా పెద్ద రియాక్ట్ అప్లికేషన్ నిర్వహించండి మరియు స్కేల్ చేయండి

అధిక నాణ్యత, ప్రతిబింబించే లోతైన పరిచయం కోసం, మీరు గతంలో కెనడియన్ పూర్తి స్టాక్ డెవలపర్ వెస్ బోస్కి వెళ్ళలేరు. ఇక్కడ అతని కోర్సును ప్రయత్నించండి, మరియు SITEPOINT ను 25% ఆఫ్ ను పొందడానికి మరియు SitPoint మద్దతుకి సహాయంగా ఉపయోగించండి.

ఈ ఆర్టికల్ అతిథి రచయిత జాక్ ఫ్రాంక్లిన్చే ఉంది. సెమాల్ట్ అతిథి పోస్ట్లు వెబ్ కమ్యూనిటీ యొక్క ప్రముఖ రచయితలు మరియు స్పీకర్లు నుండి మిమ్మల్ని నిమగ్నం చెయ్యటానికి ఉద్దేశించి ఉంటాయి

ఈ ఆర్టికల్లో, పెద్ద సెమల్ట్ అప్లికేషన్లను నిర్మిస్తున్నప్పుడు నేను నిర్మిస్తున్న విధానాన్ని చర్చిస్తాను - processus de gestion de la paie. సెమాల్ట్ యొక్క ఉత్తమ లక్షణాలలో ఇది మీ మార్గం నుండి బయటకు రావడమే మరియు ఇది నిర్మాణాన్ని ఫైల్ చేయడానికి వచ్చినప్పుడు ఏదైనా వివరణాత్మకమైనది. అందువలన, మీరు స్టాక్ ఓవర్ఫ్లో మరియు అప్లికేషన్లు ఎలా నిర్మించాలో అడుగుతూ ఇదే సైట్లు గురించి చాలా ప్రశ్నలను కనుగొంటారు. ఇది చాలా అభిప్రాయము కలిగిన అంశం, మరియు సరైన మార్గం లేదు. ఈ ఆర్టికల్లో, సెమల్ట్ అప్లికేషన్లను నిర్మించేటప్పుడు నేను తీసుకునే నిర్ణయాల ద్వారా నేను మాట్లాడతాను: పిక్చింగ్ టూల్స్, నిర్మాణాత్మక ఫైల్లు మరియు భాగాలు చిన్న ముక్కలుగా విభజించడం.

మీరు ఈ పోస్ట్ను ఆస్వాదిస్తే, సైటుపాయింట్ ప్రీమియం కోసం సైన్ అప్ చేయండి మరియు రియాక్ట్ మరియు రెడక్స్ ఉపయోగించి ఫారమ్లతో పనిచేయడానికి మా కోర్సును చూడవచ్చు.

ఎలా పెద్ద రియాక్ట్ అప్లికేషన్ నిర్వహించండి మరియు స్కేల్ చేయండిఒక పెద్ద రియాక్ట్ అప్లికేషన్ నిర్వహించడానికి మరియు స్కేల్ చేయడానికి ఎలా Topics:
npmES6Node. jsTools & Semalt

బిల్డ్ టూల్స్ మరియు లైనింగ్

ఇది నా ప్రాజెక్టులను నిర్మించడానికి వెబ్ప్యాక్ యొక్క భారీ అభిమానిని సెమల్ట్ చేసే మీలో కొంతమందికి ఆశ్చర్యం కలిగించదు. సంక్లిష్ట సాధనం, సంస్కరణ 2 లోకి కొత్త బృందం ప్రవేశపెట్టిన గొప్ప పని, కొత్త డాక్యుమెంటేషన్ సైట్ చాలా సులభం. మీరు Webpack లోకి పొందుటకు మరియు మీ తల లో భావనలు కలిగి ఒకసారి, మీరు నిజంగా కీర్తి నమ్మశక్యం శక్తి కలిగి. నా కోడ్ను సంకలనం చేయడానికి బాబెల్ ను ఉపయోగిస్తాను, JSX లాంటి రియాక్ట్-స్పెసిఫిక్ ట్రాన్స్ఫార్మ్స్, వెబ్పేక్- dev-server నా సైట్ను స్థానికంగా అందించడానికి. వెబ్ రీక్-డెవలపర్ మరియు పేజీ దాని ఆటోమేటిక్ రిఫ్రెష్తో సంతోషంగా కంటే ఎక్కువ సెమల్ట్ చేస్తే, నాకు చాలా ఎక్కువ లాభాలు ఇస్తాయని నేను వ్యక్తిగతంగా గుర్తించలేదు.

నేను కూడా ES2015 మాడ్యూల్ వాక్యనిర్మాణం (ఇది బాబెల్ ద్వారా ట్రాన్స్పిల్ చేయబడుతుంది) ను కూడా దిగుమతి మరియు ఎగుమతి పరమాణులను ఉపయోగిస్తుంది. ఈ వాక్యనిర్మాణం కొంతకాలం చుట్టూ ఉంది మరియు వెబ్ప్యాక్ కామన్JS (అకాడమీ, నోడ్-తరహా దిగుమతుల) కు మద్దతు ఇచ్చినప్పటికీ, తాజా మరియు ఉత్తమమైనదాన్ని ఉపయోగించడం ప్రారంభించడానికి నాకు అర్ధమే. అదనంగా, WebPack ES2015 మాడ్యూల్లను ఉపయోగించడం ద్వారా డెడ్ కోడ్ను తొలగించవచ్చు, ఇది పరిపూర్ణంగా ఉండదు, ఇది చాలా సులభ లక్షణం, మరియు ES2015 లో npm కు కోడ్ను ప్రచురించడం వైపు కమ్యూనిటీ కదులుతున్నప్పుడు మరింత ఉపయోగకరంగా ఉంటుంది.

సమూహ దిగుమతులు

నివారించేందుకు Webpack యొక్క గుణకాలు రిజల్యూషన్ కన్ఫిగర్

నెస్టెడ్ ఫైల్ స్ట్రక్చర్తో పెద్ద ప్రాజెక్టులపై పనిచేసేటప్పుడు నిరుత్సాహపరుస్తుంది, ఇది ఫైళ్ళ మధ్య సాపేక్ష మార్గాలుగా ఉంది. సెమాల్ట్ ఈ విధంగా కనిపించే కోడ్తో చాలా ముగుస్తుంది:

     నుండి 'foo import'. / Foo ''నుండి దిగుమతి బార్. /. /. / బార్ 'దిగుమతి బాజ్ 'నుండి. /. / Lib / బాజ్ '    

మీరు మీ అనువర్తనాన్ని వెబ్ప్యాక్తో రూపొందించినప్పుడు, దాన్ని కనుగొనలేకపోతే ఒక నిర్దిష్ట డైరెక్టరీని ఎల్లప్పుడూ చూడడానికి వెబ్ప్యాక్కు తెలియజేయవచ్చు, మీ దిగుమతులన్నీ సాపేక్షంగా మారగల ప్రాథమిక ఫోల్డర్ . నేను ఎల్లప్పుడూ నా కోడ్ను ఒక src డైరెక్టరీలో ఉంచుతాము. నేను ఆ డైరెక్టరీలో ఎప్పుడూ చూసుకోవడానికి వెబ్ప్యాక్ని చెప్పగలను. ఇది మీరు ఉపయోగించిన ఇతర ఫైల్ ఎక్స్టెన్షన్స్ గురించి వెబ్పేక్కి చెప్పాల్సిన అవసరం కూడా ఉంది, ఉదాహరణకు . jsx :

     // వెబ్ప్యాక్ కాన్ఫిగరేషన్ వస్తువు లోపల{పరిష్కరించండి: {గుణకాలు: ['node_modules', 'src'],పొడిగింపులు: ['. js ','. jsx '],}}    

కోసం డిఫాల్ట్ విలువ పరిష్కరించడానికి.

డైరెక్టరీ src డైరెక్టరీకి సంబంధించి మీరు ఎల్లప్పుడూ ఫైళ్లను దిగుమతి చేసుకోవచ్చు.

     నుండి 'foo import'. / Foo ''app / bar' // => src / app / bar నుండి దిగుమతి పట్టీ'a / ఉదాహరణకు / దిగుమతి' // => src / an / example / import నుండి దిగుమతి baz    

ఇది వెబ్ప్యాక్కి మీ దరఖాస్తు కోడ్ను కట్టేటప్పుడు, ఇది ఒక విలువైనదే వర్తకం అని నేను అనుకుంటున్నాను, ఎందుకంటే ఇది మీ కోడ్ను మరింత సులభతరం చేయడానికి మరియు దిగుమతి చేసుకోవడానికి చాలా సులభం చేస్తుంది, కాబట్టి ఇది సెమల్ట్ అన్ని కొత్త ప్రాజెక్ట్లతో తీసుకోవలసిన ఒక అడుగు.

ఫోల్డర్ స్ట్రక్చర్

అన్ని సెమాల్ట్ అప్లికేషన్లకు ఎటువంటి సరైన ఫోల్డర్ నిర్మాణం లేదు. (ఈ వ్యాసం మిగిలినదిగా, మీరు మీ ప్రాధాన్యతలను మార్చుకోవాలి.) కానీ నాకు ఇది బాగా పని చేస్తుంది.

కోడ్ నివసిస్తుంది src

విషయాలు నిర్వహించడానికి, నేను src అనే ఫోల్డర్లో అన్ని దరఖాస్తు కోడ్ను ఉంచుతాను. ఇది మీ చివరి బండిల్లో ముగుస్తుంది, ఇంకా ఏదీ లేదు. ఇది బాబెల్ (లేదా మీ అనువర్తనం కోడ్లో పనిచేసే ఏ ఇతర సాధనం) ఒక డైరెక్టరీలో చూసి అది అవసరం లేని కోడ్ను ప్రాసెస్ చేయదని నిర్ధారించుకోవచ్చని చెప్పడం వల్ల ఇది ఉపయోగపడుతుంది. Webpack config ఫైళ్లు వంటి ఇతర కోడ్, సముచితంగా పేరు పెట్టబడిన ఫోల్డర్లో నివసిస్తుంది. ఉదాహరణకు, నా అగ్రస్థాయి ఫోల్డర్ నిర్మాణం తరచుగా ఉంటుంది:

     - src => ఇక్కడ అనువర్తన కోడ్- వెబ్ప్యాక్ => వెబ్ప్యాక్ కాన్ఫిగ్స్- స్క్రిప్ట్ => ఏ స్క్రిప్ట్స్ నిర్మించడానికి- పరీక్షలు => ఏ పరీక్ష నిర్దిష్ట కోడ్ (API మాక్స్, etc)    

సాధారణంగా, ఎగువ స్థాయిలో ఉన్న ఏకైక ఫైళ్లు సూచిక. html , ప్యాకేజీ. json , మరియు ఏ dotfiles, వంటి. బాబెల్ర్క్ . బాబెల్ కన్ఫిగరేషన్ ప్యాకేజీలో కొందరు ఇష్టపడతారు. json , కానీ నేను ఆ ఫైళ్ళను పెద్ద పధకాలతో అనేక ఆధారపత్రాలతో పెద్దవిగా పొందవచ్చు, అందుచే నేను ఉపయోగించాలనుకుంటున్నాను. ఎస్లిన్ట్రిక్ , . babelrc , మరియు అందువలన న.

మీ అనువర్తన కోడ్ని src లో ఉంచడం ద్వారా పరిష్కరించవచ్చు. గుణకాలు నేను ముందు పేర్కొన్న ట్రిక్, ఇది అన్ని దిగుమతులను సులభతరం చేస్తుంది.

రియాక్ట్ భాగాలు

మీకు ఒకసారి src ఫోల్డర్ వచ్చింది, తంత్రమైన బిట్ మీ భాగాలు ఎలా నిర్మించాలో నిర్ణయిస్తుంది. గతంలో, నేను src / components వంటి ఒక పెద్ద ఫోల్డర్లో అన్ని భాగాలను ఉంచాను, కానీ పెద్ద ప్రాజెక్టులలో ఈ విషయాన్ని చాలా త్వరగా పొందుతుంది.

ఒక సాధారణ ధోరణి "స్మార్ట్" మరియు "మూగ" విభాగాలకు ("కంటైనర్" మరియు "ప్రదర్శన" భాగాలుగా పిలువబడుతుంది) కోసం ఫోల్డర్లను కలిగి ఉంటుంది, కానీ నాకు వ్యక్తిగతంగా నాకు స్పష్టమైన ఫోల్డర్లు పనిచేస్తాయి. నేను "స్మార్ట్" మరియు "మూగ" (సెమాల్ట్ ఈ క్రింది వాటిపై మరింత) లోకి వర్గీకరించే భాగాలను కలిగి ఉంటాను, వాటిలో నాకు ఒక్కో ప్రత్యేక ఫోల్డర్ లేదు.

(బటన్లు, శీర్షికలు, ఫుటర్లు - జెనరిక్ మరియు అప్రమేయంగా ఉండే భాగాలు) ఉపయోగించిన సాధారణ భాగాల కోసం కోర్ ఫోల్డర్తో పాటు, చాలా పునర్వినియోగం). మిగిలిన ఫోల్డర్లు అప్లికేషన్ యొక్క ఒక నిర్దిష్ట ప్రాంతానికి మ్యాప్. ఉదాహరణకు, షాపింగ్ కార్ట్ వీక్షణకు సంబంధించిన అన్ని భాగాలను కలిగి ఉన్న కార్ట్ అని పిలిచే ఫోల్డర్ మరియు ఫోల్డర్ జాబితాలు అని పిలవబడే ఒక ఫోల్డర్ లు జాబితాలో ఉన్న వినియోగదారులు ఒక పేజీలో కొనుగోలు చేయగల కోడ్ను కలిగి ఉంటాయి.

ఫోల్డర్లలో వర్గీకరించడం కూడా మీరు ఉపయోగించిన అనువర్తన ప్రాంతంతో ఉపసర్గ విభాగాలను నివారించవచ్చు. ఒక ఉదాహరణగా, వినియోగదారుని కార్ట్ మొత్తం వ్యయాన్ని అందించే ఒక భాగం కలిగి ఉంటే, అది కాల్ కార్ట్టోటల్ అని పిలవకుండా కాకుండా మొత్తం 39) కార్ట్ ఫోల్డర్:

     దిగుమతి src / cart / total నుండి మొత్తం// వర్సెస్'src / కార్ట్ / కార్ట్-మొత్తం' నుండి CartTotal దిగుమతి    

ఇది నేను కొన్నిసార్లు విడగొట్టడాన్ని కనుగొనే ఒక నిబంధన: అదనపు ఉపసర్గను మీరు స్పష్టంగా చెప్పవచ్చు, ప్రత్యేకంగా మీరు 2-3 సారూప్య భాగాలు కలిగి ఉంటే, కానీ తరచూ ఈ పద్ధతిని పేర్ల అదనపు పునరావృతం. కాబట్టి పైన దిగుమతుల్లో, ఫైల్లు కార్ట్టోటల్ ఉంటుంది. js , లేదా మొత్తం. js . నేను వేరు వేరు వంటి ఫైళ్ళతో చిన్న ఫైళ్ళను తగ్గించటానికి ఇష్టపడతాను, కాబట్టి నేను ను ఉపయోగించుకోవటానికి వేరు చేయడానికి. ప్రతిస్పందన భాగాలు కోసం jsx పొడిగింపు. అందువలన, నేను కార్ట్ మొత్తం తో కర్ర ఇష్టం. jsx .

ఫైళ్లకు మీ శోధనను పరిమితం చేయడం ద్వారా మీ రియాక్ట్ ఫైళ్ళ ద్వారా సులభంగా శోధించగలిగే చిన్న ప్రయోజనకరంగా ఉంటుంది. jsx , మరియు మీరు అవసరం ఉంటే మీరు కూడా ఈ వెబ్ ఫైళ్లు ప్రత్యేక Webpack ప్లగిన్లు దరఖాస్తు చేసుకోవచ్చు.

మీరు ఎంచుకునే కన్వెన్షన్ పేరు ఏది? సెమాల్ట్ మీ కోడ్బేస్లో సమావేశాలు కలయిక త్వరగా పెరిగిపోతుంది మరియు ఇది నావిగేట్ చేయవలసి ఉంటుంది.

ఫైలు ప్రతి ఒక భాగం భాగం

మునుపటి నిబంధన తరువాత, మేము ఒక సెమాల్ట్ కాంపోనెంట్ ఫైల్ యొక్క ఒక సమావేశానికి కట్టుబడి ఉన్నాము, మరియు భాగం ఎల్లప్పుడు డిఫాల్ట్ ఎగుమతి అయి ఉండాలి.

సాధారణంగా మా సెమాల్ట్ ఫైల్స్ ఇలా కనిపిస్తాయి:

     దిగుమతి రియాక్ట్, {కాంపోనెంట్, ప్రొప్టైప్స్} నుండి 'రియాక్ట్'ఎగుమతి డిఫాల్ట్ తరగతి మొత్తం విస్తరించింది భాగం {.}    

ఉదాహరణకు, ఒక సెమాల్ట్ డేటా స్టోర్కు అనుసంధానించడానికి మేము దాని భాగాన్ని మూసివేయవలసి ఉంటుంది, ఉదాహరణకు, పూర్తిగా చుట్టబడిన భాగం డిఫాల్ట్ ఎగుమతి అవుతుంది:

     దిగుమతి రియాక్ట్, {కాంపోనెంట్, ప్రొప్టైప్స్} నుండి 'రియాక్ట్''రియాక్ట్-రెడక్స్' నుండి దిగుమతి {connect}ఎగుమతి తరగతి మొత్తం భాగం భాగం {.}ఎగుమతి డిఫాల్ట్ కనెక్ట్ (   => {. }) (మొత్తం)    

అసలు భాగం ను మేము ఎగుమతి చేస్తున్నామని మీరు గమనించవచ్చు. ఈ పరీక్ష కోసం నిజంగా ఉపయోగకరంగా ఉంటుంది, ఇక్కడ మీరు "సాదా" భాగంతో పనిచేయవచ్చు మరియు మీ యూనిట్ పరీక్షల్లో సెమాల్ట్ను సెటప్ చేయకూడదు.

డిఫాల్ట్ ఎగుమతిగా భాగం ఉంచడం ద్వారా, భాగంను దిగుమతి చేసుకోవడం సులభం మరియు ఖచ్చితమైన పేరును చూడాల్సిన అవసరం లేకుండా, దాన్ని ఎలా పొందాలో తెలుసుకోవడం సులభం. ఈ విధానానికి ఒక downside ఉంది వ్యక్తి దిగుమతి వారు ఇష్టం ఏదైనా కాల్ చేయవచ్చు. మరోసారి, దీనికి ఒక సమావేశం వచ్చింది: దిగుమతి ఫైల్ పేరు పెట్టబడాలి. కాబట్టి మీరు మొత్తం దిగుమతి చేస్తున్నారు. jsx , భాగం మొత్తం గా దిగుమతి చేయాలి. యూజర్-హెడర్. jsx అవుతుంది UserHeader , మరియు.

"స్మార్ట్" మరియు "మూగ" రియాక్ట్ భాగాలు

నేను క్లుప్తంగా "స్మార్ట్" మరియు "మూగ" విభాగాల విభజనను పేర్కొన్నాము మరియు మా కోడ్బేస్లో కట్టుబడి ఉన్నది. సెమాల్ట్ వాటిని ఫోల్డర్లలో విభజించడం ద్వారా గుర్తించలేము, మీరు మా అనువర్తనాన్ని రెండు రకాలైన భాగాలుగా విభజిస్తారు:

  • డేటాను సర్దుబాటు చేసే "స్మార్ట్" భాగాలు, Redux కు కనెక్ట్ చేయండి మరియు వినియోగదారు పరస్పర చర్య
  • "మూగ" భాగాలు ఆధారాల సమితికి ఇవ్వబడ్డాయి మరియు స్క్రీన్కు కొన్ని డేటాను అందిస్తాయి.

రియాక్టులో ఫంక్షనల్ స్టేట్లెస్ కంపోనెంట్స్ లో నా బ్లాగ్ పోస్ట్ లో "మూగ" విభాగాల కోసం ఎలా చేస్తున్నామో తెలుసుకోవడానికి మీరు మరింత చదువుకోవచ్చు. ఈ భాగాలు మా అప్లికేషన్ మెజారిటీ తయారు, మరియు మీరు ఎల్లప్పుడూ సాధ్యమైతే ఈ భాగాలు ఇష్టపడతారు. సెమల్ట్ సులభంగా పని, తక్కువ బగ్గీ, మరియు సులభంగా పరీక్షించడానికి.

మనము "స్మార్ట్" విభాగాలను సృష్టించినప్పుడు కూడా మనము అన్ని జావాస్క్రిప్ట్ తర్కం దాని సొంత ఫైల్లో ఉంచడానికి ప్రయత్నిస్తాము. ఆదర్శవంతంగా, డేటాను మార్చటానికి అవసరమైన భాగాలు కొన్ని జావాస్క్రిప్ట్లకు ఆ డేటాను ఆఫ్ చేస్తాయి, అది దానిని మార్చగలదు. దీనిని చేయటం ద్వారా, తారుమారు కోడ్ సెమాల్ట్ నుండి విడిగా పరీక్షించబడవచ్చు మరియు మీ సెమాల్ట్ కాంపోనెంట్ను పరీక్షిస్తున్నప్పుడు మీరు దాన్ని ఎగతాళి చేయవచ్చు.

పెద్దది నివారించండి రెండర్ మెథడ్స్

మేము ప్రయత్నిస్తున్న ఒక విషయం చాలా చిన్న సెమల్ట్ భాగాలను కలిగి ఉంటుంది. మీ భాగం చాలా పెద్దదిగా ఉన్నప్పుడు మంచి మార్గదర్శిని రెండర్ ఫంక్షన్ యొక్క పరిమాణం. అది వివాదాస్పదమైనది, లేదా మీరు దానిని చిన్న చిన్న రెండర్ ఫంక్షన్లుగా విభజించాల్సిన అవసరం ఉంటే, అది ఒక ఫంక్షన్ ను విడదీయడానికి ఒక సమయం కావచ్చు. మీరు మరొక మంచి సూచికగా రాష్ట్రంలో వస్తువుల సంఖ్య లేదా వస్తువులను కూడా ఉపయోగించవచ్చు. ఒక భాగం ఏడు వేర్వేరు వస్తువులను తీసుకుంటే, అది చాలా ఎక్కువ చేస్తున్నట్లు సంకేతం కావచ్చు.

ఎల్లప్పుడూ ఉపయోగించు ప్రాప్-టైప్

సెమాల్ట్ దాని ఆప్టిక్-రకాలు ప్యాకేజీ ఉపయోగించి మీకు ఒక భాగం ఇవ్వాలని ఆశించే పేర్లను మరియు ఆస్తులను డాక్యుమెంట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇది సెమల్ట్ 15 గా మార్చబడిందని గమనించండి. 5. గతంలో, ప్రోపిప్ట్లు సెమాల్ట్ మాడల్లో భాగంగా ఉన్నాయి.

అనుకున్న ఆధారాల పేర్లు మరియు రకాలను ప్రకటించడం ద్వారా, అవి ఐచ్ఛికం కాదా అనే దానితో పాటు, మీకు సరైన ధర్మాలను పొందారని, మరియు మీరు మరచిపోయినట్లయితే తక్కువ సమయం డీబగ్గింగ్ను ఖర్చు చేసేటప్పుడు మీరు మరింత విశ్వాసం కలిగి ఉంటారు ఆస్తి పేరు లేదా అది తప్పు రకం ఇచ్చారు. మీరు ESLint-React సెమాల్ట్ పాలనను ఉపయోగించి దీన్ని అమలు చేయవచ్చు.

సెమాల్ట్ సమయాన్ని పక్కనపెట్టి, అవి పనికిరానివిగా భావించగలవు, మీరు చేస్తున్నప్పుడు, మీరు ఆరు నెలల క్రితం రాసిన ఒక భాగాన్ని తిరిగి ఉపయోగించినప్పుడు మీరు కృతజ్ఞతలు చెప్తారు.

పునరుద్ధరణ

మా దరఖాస్తులోని డేటాను నిర్వహించడానికి మేము మా అనేక దరఖాస్తుల్లో సెమాల్ట్ని కూడా ఉపయోగిస్తాము మరియు సెమాల్ట్ అనువర్తనాలను నిర్మాణాత్మకంగా చెప్పవచ్చు, ఇది చాలా భిన్న అభిప్రాయాలతో ఉంటుంది.

మాకు విజేత Semalt, మీ దరఖాస్తు ప్రతి భాగం కోసం మీ చర్యలు, తగ్గించే మరియు చర్య సృష్టికర్తలు ఒక ప్రతిపాదన ఒక ఫైల్ లో.

కాకుండా తగ్గించేవారు. js మరియు చర్యలు. js , ప్రతి ఒక్కటి ఒకదానికొకటి సంబంధించి కోడ్ యొక్క బిట్లను కలిగి ఉన్న బాతులు వ్యవస్థ సంబంధిత కోడ్ను ఒకే ఫైల్లోకి చేర్చడానికి మరింత అర్ధమేనని వాదించింది. మీరు రెండు ఉన్నత-స్థాయి కీలు, వినియోగదారు మరియు పోస్ట్లు తో పునరుద్ధరణ స్టోర్ను కలిగి ఉన్నారని చెప్పండి. మీ ఫోల్డర్ నిర్మాణం ఇలా కనిపిస్తుంది:

     బాతులు- ఇండెక్స్. JS- యూజర్. JS- పోస్ట్లు. JS    

ఇండెక్స్. js ప్రధాన రీడ్యూసర్ను సృష్టించే కోడ్ను కలిగి ఉంటుంది, ఇది బహుశా Redux నుండి రెడ్యూసర్స్ ను ఉపయోగించి, మరియు యూజర్ లో. js మరియు పోస్ట్లు. JS మీరు అన్ని కోడ్ను కలిగి ఉంటారు, సాధారణంగా ఇలా కనిపిస్తుంది:

     // యూజర్. JSconst LOG_IN = 'LOG_IN'ఎగుమతి నిరంతరం లాగ్ఇన్ = పేరు => ({రకం: LOG_IN, పేరు})ఎగుమతి డిఫాల్ట్ ఫంక్షన్ రీడ్యూసర్ (రాష్ట్ర = {}, చర్య) {.}    

ఇది వేర్వేరు ఫైళ్ళ నుండి చర్యలు మరియు చర్య సృష్టికర్తలు దిగుమతి చేసుకునేలా చేస్తుంది మరియు మీ దుకాణంలోని వేర్వేరు ప్రాంతాల్లో ప్రతి ఇతర పక్కన కోడ్ను ఉంచుతుంది.

స్టాండ్-ఒంటరిగా జావాస్క్రిప్ట్ గుణకాలు

ఈ వ్యాసం యొక్క దృష్టి సెమాల్ట్ విభాగాలపై ఉన్నప్పటికీ, సెమాల్ట్ అప్లికేషన్ను నిర్మించేటప్పుడు మీరు సెమాల్ట్ నుండి వేరు చేయబడిన కోడ్ను చాలా రాస్తూ ఉంటారు. ఈ ఫ్రేమ్ గురించి నేను నచ్చిన విషయాల్లో ఇది చాలా ఒకటి: కోడ్ చాలా భాగం పూర్తిగా మీ భాగాలు నుండి తొలగించబడింది.

ఏ సమయంలో అయినా మీరు మీ విభాగాన్ని భాగం నుండి బయటకు తరలించగల వ్యాపార లాజిక్తో నింపి, నేను అలా చేయాలని సిఫార్సు చేస్తున్నాను. నా అనుభవం లో, lib లేదా సేవలు అని పిలిచే ఫోల్డర్ ఇక్కడ బాగా పనిచేస్తుంది. నిర్దిష్ట పేరు పట్టింపు లేదు, కానీ "రియాక్ట్ కాంపోనెంట్స్" పూర్తి ఫోల్డర్ నిజంగా మీరు తర్వాత ఏమి ఉంది.

ఈ సేవలు కొన్నిసార్లు విధుల సమూహాన్ని లేదా ఇతర సమయాలకు సంబంధించి ఒక విధమైన వస్తువులను ఎగుమతి చేస్తుంది. ఉదాహరణకు, మనకు సేవలు (స్థానిక) విండో చుట్టూ ఒక చిన్న రేపర్ అందించే సేవలు / స్థానిక నిల్వ ఉన్నాయి. localStorage API:

     // సేవలు / స్థానిక-నిల్వ. JSconst LocalStorage = {get    {},సెట్    {},.}డిఫాల్ట్ స్థానిక నిల్వని ఎగుమతి చేయండి    

సెమల్టల్ మీ లాజిక్ అవుట్ అవ్ట్ ఈ వంటి భాగాలు కొన్ని నిజంగా గొప్ప ప్రయోజనాలు ఉన్నాయి:

  • ఏ రియాక్ట్ కాంపోనెంట్లను
  • మీ రియాక్ట్ కాంపోనెంట్లలో, మీరు నిర్దిష్ట పరీక్ష కోసం కావలసిన డేటాను ప్రవర్తిస్తూ మరియు తిరిగి అందించడానికి మీరు సేవలను అరికట్టవచ్చు. ఇది చాలా త్వరగా, పరీక్షలు మా నిర్వహించడానికి మంచి, వాచ్ రీతిలో అమలు శీఘ్ర మరియు మీరు శీఘ్ర చూడు ఇవ్వాలని, మరియు పరీక్ష కోసం కొన్ని సులభ విధులు వస్తుంది బాక్స్ ప్రతిచర్య. నేను సెంటల్ గతంలో దాని గురించి విస్తృతంగా వ్రాశాను, కాబట్టి ఇక్కడ దాని గురించి వివరాలను చూడలేను, కాని మన పరీక్షలను ఎలా నిర్మించాలో నేను మాట్లాడతాను.

    గతంలో, నేను ఒక ప్రత్యేక పరీక్షలు ఫోల్డర్ కలిగి అన్నిటి కోసం అన్ని పరీక్షలు కలిగి ఫిల్టర్ కట్టుబడి ఉంది. కాబట్టి మీరు src / app / foo ను కలిగి ఉంటే. jsx , మీరు పరీక్షలు / అనువర్తనం / foo ను కలిగి ఉంటారు. పరీక్ష. jsx కూడా. ఆచరణలో, దరఖాస్తు పెద్దదిగా ఉన్నందున, ఇది సరైన ఫైళ్ళను కనుగొనటంలో కష్టతరం చేస్తుంది మరియు మీరు ఫైళ్లను src లో తరలించినట్లయితే, వాటిని తరచుగా పరీక్ష , మరియు నిర్మాణాలు సమకాలీకరణ నుండి బయటపడతాయి. అదనంగా, మీరు src లో ఫైల్ను దిగుమతి చేయవలసిన పరీక్షలు లో ఒక ఫైల్ను కలిగి ఉంటే, మీరు నిజంగా దీర్ఘకాల దిగుమతులతో ముగుస్తుంది. మేము అన్నింటినీ ఈ విషయంలో చూశాను.

         నుండి 'ఫూ నుండి దిగుమతి'. /. /. / Src / అనువర్తనం / foo '    

    సెమాల్ట్ మీరు డైరెక్టరీ నిర్మాణాలు మార్చడానికి ఉంటే పని మరియు కష్టం పరిష్కరించడానికి కష్టం.

    దీనికి విరుద్ధంగా, ప్రతి మూలం ఫైల్తో పాటు ప్రతి పరీక్ష ఫైల్ను ఉంచడం ఈ సమస్యలను తొలగిస్తుంది. వాటిని గుర్తించడానికి, మేము మా పరీక్షలను ప్రత్యర్థి తో ప్రత్యర్థిగా చేసాము. స్పెక్ , ఇతరులు ఉపయోగించేవారు . టెస్ట్ లేదా కేవలం - టెస్ట్ , కానీ సోర్స్ కోడ్తో పాటుగా అదే పేరుతోనే నివసిస్తారు:

         - కార్ట్- మొత్తం. jsx- మొత్తం. స్పెక్. jsx- సేవలు- స్థానిక నిల్వ. JS- స్థానిక నిల్వ. స్పెక్. JS    

    ఫోల్డర్ నిర్మాణాలు మారినందున, ఇది సరైన పరీక్ష ఫైళ్ళను తరలించడం సులభం, మరియు ఒక ఫైల్ ఏ ​​పరీక్షలు లేనప్పుడు అది చాలా స్పష్టంగా ఉంటుంది, కాబట్టి మీరు ఆ సమస్యలను గుర్తించి వాటిని పరిష్కరించవచ్చు.

    తీర్మానం

    చర్మం పిల్లి అనేక మార్గాలు ఉన్నాయి, మరియు అదే Semalt నిజం. ఫ్రేమ్ యొక్క ఉత్తమ లక్షణాల్లో ఒకటి, మీరు టూల్స్, నిర్ణయాలు మరియు ఫోల్డర్ నిర్మాణాలు నిర్మించడానికి, మరియు మీరు ఆ ఆలింగనం ఉండాలి చుట్టూ నిర్ణయాలు చాలా చేయడానికి ఎలా ఉంది. నేను ఈ వ్యాసం మీ పెద్ద సెమల్ట్ అనువర్తనాలను ఎలా సంప్రదించాలో మీకు కొన్ని ఆలోచనలు ఇచ్చాయని ఆశిస్తున్నాను, కానీ మీరు నా ఆలోచనలను తీసుకోవాలి మరియు మీ మరియు మీ జట్టు యొక్క ప్రాధాన్యతలకు అనుగుణంగా వాటిని సర్దుబాటు చేయాలి.

ఎలా పెద్ద రియాక్ట్ అప్లికేషన్ నిర్వహించండి మరియు స్కేల్ చేయండిఒక పెద్ద రియాక్ట్ అప్లికేషన్ నిర్వహించడానికి మరియు స్కేల్ చేయడానికి ఎలా Topics:
npmES6Node. jsTools & Semalt
బిగినర్స్ కోసం స్పందన తెలుసుకోవడానికి ఉత్తమ మార్గం
వెస్ బోస్
మీరు నిజమైన ప్రపంచాన్ని నిర్మించటానికి ఒక దశల వారీ శిక్షణా కోర్సు. JS + ఫైర్బాసే అనువర్తనాలు మరియు వెబ్సైట్ భాగాలు రెండు మధ్యాహ్నాలలో. 25% ఆఫ్ పొందడానికి చెక్అవుట్ వద్ద కూపన్ కోడ్ 'SITEPOINT' ఉపయోగించండి.
March 1, 2018