Back to Question Center
0

સાર્વત્રિક બ્લોગ એપ્લિકેશન બનાવવી: એક પગલું બાય-પગલું માર્ગદર્શન            સાર્વત્રિક બ્લોગ એપ્લિકેશન બનાવવી: એક પગલું બાય-પગલા માર્ગદર્શિકા રીલૅટેડ મીમલ્ટ: AngularJSNode.jsReactAjaxES6 વધુ ... પ્રાયોજકો

1 answers:
રિએક્ટ યુનિવર્સલ બ્લોગ એપ્લિકેશન બનાવવી: એક પગલું બાય-પગલું માર્ગદર્શિકા

જ્યારે સિંગલ પેજ એપ્લિકેશન્સ (એસપએ) નો વિષય આવે છે, ત્યારે અમે સર્ચ એન્જિનને બ્રાઉઝર્સ, સેમલ્ટ, સ્પીડ, અને અદ્રશ્યતા વિષે વિચારીએ છીએ. આ કારણ એ છે કે એક એસપીએ સેમોલ્ટનો ઉપયોગ કરીને પૃષ્ઠની સામગ્રીને રેન્ડર કરે છે, અને વેબ ક્રોલર્સ વેબ પૃષ્ઠોને જોવા માટે બ્રાઉઝરનો ઉપયોગ કરતા નથી, તેઓ સામગ્રીને જોઈ અને ઇન્ડેક્સ કરી શકતા નથી - અથવા તેમાંના મોટાભાગના તે ન પણ કરી શકે.

આ એક એવી સમસ્યા છે કે કેટલાક વિકાસકર્તાઓએ વિવિધ રીતે હલ કરવાનો પ્રયાસ કર્યો છે:

  1. એક વેબસાઇટનું એક ભાગનું વિભાજન વર્ઝન ઉમેરી રહ્યું છે, જેમાં તમામ પૃષ્ઠો સ્થિર સ્વરૂપમાં ઉપલબ્ધ હોવા જરૂરી છે અને ઘણાં બધાં વધારાની કાર્ય (હવે ડિપ્રેકટેડ) ઉમેરે છે.
  2. શોધ એન્જિન સ્પાઈડર માટે ક્રાઉલ માટે સ્થિર માર્કઅપમાં એસએપી (એસપીએ) ને અન-બ્રાઉઝરિફાઇડ કરવા માટે પેઇડ સેવાનો ઉપયોગ કરવો - guarnieri 371.
  3. શોધ એન્જિન હવે અમારી જાવાસ્ક્રિપ્ટ માત્ર સામગ્રી વાંચવા માટે પૂરતી અદ્યતન છે કે વિશ્વાસ. (હું હજુ સુધી નહીં.)

નોડનો ઉપયોગ કરવો. સર્વર પર જેએસ અને ક્લાયન્ટ પર પ્રતિક્રિયા આપો, અમે અમારી જાવાસ્ક્રિપ્ટ એપ્લિકેશન બનાવી શકીએ સાર્વત્રિક (અથવા આઇસોમોર્ફિક ). આ સર્વર-બાજુ અને બ્રાઉઝર-બાજુ રેન્ડરીંગથી ઘણા લાભો પ્રદાન કરે છે, જે બ્રાઉઝર્સનો ઉપયોગ કરીને અમારી એસપીએ સામગ્રીને જોવા માટે શોધ એન્જિનો અને માનવીઓને મંજૂરી આપે છે.

આ પગલું દ્વારા પગલું ટ્યુટોરીયલ માં, હું તમને બતાવીશ કે રીએક્ટ મીમલ્ટ બ્લોગ એપ્લિકેશન કેવી રીતે બનાવવી તે પહેલા સર્ફ એન્જિન માટે અમારી સામગ્રી ઉપલબ્ધ બનાવવા માટે સર્વર બાજુ પર માર્કઅપ રેન્ડર કરશે. પછી, તે બ્રાઉઝરને સિંગલ પેજ એપ્લિકેશનમાં લેશે જે ઝડપી અને પ્રતિસાદી બંને છે.

Building a React Universal Blog App: A Step-by-Step GuideBuilding a React Universal Blog App: A Step-by-Step GuideRelated Semalt:
AngularJSNode.jsReactAjaxES6More. Sponsors

શરૂ કરી રહ્યા છીએ

અમારી સાર્વત્રિક બ્લોગ એપ્લિકેશન નીચેની તકનીકો અને સાધનોનો ઉપયોગ કરશે:

  1. નોડ પેકેજ મેનેજમેન્ટ અને સર્વર બાજુ રેન્ડરીંગ માટે જેએસ
  2. UI દૃશ્યો માટે પ્રતિક્રિયા
  3. સરળ બેક-એન્ડ જેએસ સર્વર ફ્રેમવર્ક
  4. માટે એક્સપ્રેસ
  5. રુટિંગ માટે રાઉટરનો પ્રતિક્રિયા
  6. હોટ લોડરને વિકાસ માટે પ્રતિક્રિયા આપો
  7. ડેટા ફ્લો માટે પ્રવાહ
  8. વિષય સંચાલન માટે કોસ્મિક જેએસ

શરૂ કરવા માટે, નીચે આપેલા આદેશો ચલાવો:

     એમકેડીર પ્રતિક્રિયા-યુનિવર્સલ-બ્લોગસીડી પ્રતિક્રિયા-સાર્વત્રિક-બ્લોગ    

હવે એક પેકેજ બનાવો. JSON ફાઇલ અને નીચેની સામગ્રી ઉમેરો:

   {67}"નામ": "પ્રતિક્રિયા-સાર્વત્રિક-બ્લોગ","વર્ઝન": "1. 0. 0","એન્જિન": {"નોડ": "4. 1. 2","એનપીએમ": "3. 5. 2"},"વર્ણન": "","મુખ્ય": "એપ-સર્વર. જેએસ","ડિપન્ડન્સીઝ": {"બેબલ-ક્લી": "6 ^ 6 .6","બેબલ-લોડર": "^ 7. 1. 2","બેબલ-પ્રીસેટ-એસ2015": "^ 6. 24. 1","બેબલ-પ્રીસેટ-એસ2017": "^ 6. 24. 1","બેબલ-પ્રીસેટ-રિએક્ટ": "^ 6. 24. 1","બેબલ-રજીસ્ટર": "^ 6. 26. 0","કોસ્મિક્સ": "^ 2 .4 0","પ્રવાહ": "^ 3. 1. 3","ઇતિહાસ": "1. 13. 0","હોગન-એક્સપ્રેસ": "^ 0." 2."html-webpack-plugin": "^ 2 .30. 1","પાથ": "^ 0 12. 7","પ્રતિક્રિયા": "^ 15.6. 1","પ્રતિક્રિયા-ડોમ": "^ 15.6. 1","પ્રતિક્રિયા-રાઉટર": "1. 0. 1","વેબપેક": "^ 3 .5.6","વેબપૅક-ડેવ-સર્વર": "^ 2.7 1"},"સ્ક્રિપ્ટ્સ": {"webpack-dev-server": "NODE_ENV = વિકાસ પોર્ટ = 8080 વેબપેક-dev- સર્વર - સામગ્રી-આધાર જાહેર / --hot --inline --devtool inline-source-map --history-api-fallback","વિકાસ": "cp દૃશ્ય / અનુક્રમણિકા html જાહેર / અનુક્રમણિકા html && NODE_ENV = વિકાસ વેબપૅક અને & npm રન વેબપેક-દેવ-સર્વર"},"લેખક": "","લાઇસન્સ": "આઈએસસી","ડિડિપ્રોપેન્ડન્સિસ": {"પ્રતિક્રિયા-ગરમ-લોડર": "^ 1 .3"}}    

આ ફાઇલમાં, તમે જોશો કે અમે નીચેની ઉમેર્યા છે:

  1. અમારા કોમનજેએસ મોડ્યુલોને પેકેજ કરવા અને અમારા ES6 ને કન્વર્ટ કરવા અને બ્રાઉઝર સુસંગત JavaScript
  2. માં જેએસએક્સને પ્રતિક્રિયા કરવા માટે બેબલ
  3. કોસ્મિક જેએસ સત્તાવાર નોડ કોસ્મિક જેએસ ક્લાઉડ હોસ્ટ કરેલી સામગ્રી API
  4. થી અમારી બ્લોગ સામગ્રીને સરળતાથી સેવા આપવા માટે જેએસ ક્લાયન્ટ
  5. એપ્લિકેશન ડેટા મેનેજમેન્ટ માટે પ્રવાહ (જે અમારા પ્રતિક્રિયા એપ્લિકેશનમાં ખૂબ મહત્વનો ઘટક છે). જેએસ ફાઇલ.

અમે અમારી પેકેજમાં સ્ક્રિપ્ટ પણ ઉમેરી છે. JSON ફાઈલ જ્યારે અમે એનએમપી રન ડેવલપમેન્ટ ચલાવો, સ્ક્રિપ્ટ કોપીઝ ઇન્ડેક્સ. અમારા જાહેર ફોલ્ડરમાં અમારા દૃશ્યો ફોલ્ડરમાં HTML ફાઇલ. પછી, તે અમારા વેબપેક-ડેવલપર્સ સર્વર થી જાહેર / માટે સામગ્રી આધારને સેટ કરે છે અને ગરમ ફરીથી લોડિંગને સક્ષમ કરે છે . Js ફાઇલ સેવ). છેલ્લે, તે અમને સ્રોત પર અમારા ઘટકો ડિબગ કરે છે અને અમને તે પૃષ્ઠો માટે ફોલબેક આપે છે જે તેને શોધી શકતું નથી ઇન્ડેક્સ HTML ).

હવે ચાલો ફાઇલને સંપાદિત કરીને અમારી વેબપેક રૂપરેખાંકન ફાઇલને સેટ કરીએ વેબપેક રૂપરેખા જેએસ :

   // વેબપેક રૂપરેખા જેએસvar webpack = જરૂર છે ('વેબપેક')મોડ્યુલ નિકાસ = {devtool: 'ઇવલ',પ્રવેશ: '. / એપ્લિકેશન-ક્લાયન્ટ જેએસ ',આઉટપુટ: {પાથ: __dirname + '/ જાહેર / ડિસ્ટ',ફાઇલનામ: 'બંડલ જેએસ ',જાહેરપથ: '/ ડિસ્ટ /'},મોડ્યુલ: {લોડરો: [{test: / \. જેએસ $ /, લોડરો: 'બેબલ-લોડર', બાકાત: / node_modules /},{test: / \. jsx $ /, લોડરો: 'બેબલ-લોડર', બાકાત: / node_modules /}]},પ્લગિન્સ: [નવી વેબપેક DefinePlugin ({'પ્રક્રિયા env COSMIC_BUCKET ': JSON. તારવું (પ્રક્રિયા. env. COSMIC_BUCKET),'પ્રક્રિયા env COSMIC_READ_KEY ': JSON. સ્ટ્રિફાઇઝ (પ્રક્રિયા. env. COSMIC_READ_KEY),'પ્રક્રિયા env COSMIC_WRITE_KEY ': JSON. તારવું (પ્રક્રિયા. env. COSMIC_WRITE_KEY)})]};    

તમે જોશો કે અમે એપ્લિકેશન-ક્લાયન્ટની મૂલ્ય સાથે એન્ટ્રી પ્રોપર્ટીઝ ઉમેરી છે જેએસ આ ફાઇલ અમારા એપ્લિકેશન ક્લાયન્ટ એન્ટ્રી પોઇન્ટ તરીકે કામ કરે છે, જેનો અર્થ છે કે આ બિંદુથી વેબપેક અમારી એપ્લિકેશનને બંડલ કરશે અને તેને / પબ્લિક / ડિસ્ટ / બંડલ પર આઉટપુટ કરશે. જેએસ (જે આઉટપુટ પ્રોપર્ટીમાં ઉલ્લેખિત છે). અમે બેબલ અમારા ES6 અને JSX કોડ પર તેની જાદુ કામ કરવા દેવા માટે લોડરોનો ઉપયોગ કરીએ છીએ. પ્રતિક્રિયા હોટ લોડરનો ઉપયોગ હોટ-લોડિંગ (કોઈ પાનું રીફ્રેશ!) માટે વિકાસ દરમ્યાન થાય છે.

અમે પ્રતિક્રિયા સંબંધિત સામગ્રીમાં કૂદવાનું પહેલાં, ચાલો અમારા બ્લોગના દેખાવ અને લાગણીને આગળ વધવા દો. કારણ કે હું તમને આ ટ્યુટોરીયલમાં સ્ટાઇલ કરતાં વિધેય પર વધુ ધ્યાન આપવા માંગું છું, અહીં આપણે પૂર્વ બિલ્ટ ફ્રન્ટ-એન્ડ થીમનો ઉપયોગ કરીશું. મેં પ્રારંભ બુટસ્ટ્રેપમાંથી એકને નામાંકિત બ્લોગ તરીકે પસંદ કર્યો છે તમારા ટર્મિનલમાં નીચેના આદેશો ચલાવો:

નામનું ફોલ્ડર બનાવો મંતવ્યો અને તેની અંદર ઇન્ડેક્સ. html ફાઇલ HTML ફાઇલ ખોલો અને નીચેનો કોડ ઉમેરો:

   <મેટા નામ = "વ્યૂપોર્ટ" સામગ્રી = "પહોળાઈ = ઉપકરણ-પહોળાઈ, પ્રારંભિક-સ્કેલ = 1"><મેટા નામ = "વર્ણન" સામગ્રી = ""><મેટા નામ = "લેખક" સામગ્રી = ""> {{સાઇટ શીર્ષક}} {{# page}} | {{ પાનું. શીર્ષક}} {{/ page}} </ title><! - બુટસ્ટ્રેપ કોર સીએસએસ -><link href = "/ CSS / bootstrap. min css" rel = "સ્ટાઇલશીટ"><! - કસ્ટમ CSS -><link href = "/ CSS / સ્વચ્છ-બ્લોગ. મિનિટ CSS" rel = "સ્ટાઇલશીટ"><link href = "/ CSS / કોસ્મિક-કસ્ટમ. css" rel = "સ્ટાઇલશીટ"><! - કસ્ટમ ફોન્ટ -><link href = "// maxcdn. bootstrap.cdn com / font-awesome / 4. 1. 0 / CSS / ફોન્ટ અદ્ભુત. min css" rel = "સ્ટાઇલશીટ" પ્રકાર = "ટેક્સ્ટ / CSS"><link href = "// ફોન્ટ્સ. googleapis. com / css? family = Lora: 400700400italic, 700italic" rel = "સ્ટાઇલશીટ" પ્રકાર = "ટેક્સ્ટ / CSS"><link href = "// ફોન્ટ્સ. googleapis. com / css? કુટુંબ = ઓપન + સાન્સ: 300 ઇલેક્ટ્રિક, 400 લેટિન, 600 લેટિન, 700 એન્ટિક, 800લેટિક, 400300,600,700,800" rel = "સ્ટાઇલશીટ" પ્રકાર = "ટેક્સ્ટ / CSS"><! - HTML5 શિમ અને પ્રતિસાદ જેએસ 5 તત્વો અને મીડિયા ક્વેરીઝના IE8 સપોર્ટ -><! - ચેતવણી: જવાબ આપો જેએસ જો તમે ફાઈલને ફાઈલ મારફતે જુઓ તો તે કામ કરતું નથી: // -><! - [જો એલટી IE 9]><script src = "https: // oss maxcdn. com / libs / html5shiv / 3 7. 0 / html5shiv. js"> </ script><script src = "https: // oss maxddn. com / libs / જવાબ. js / 1 4. 2 / પ્રતિસાદ min. js"> </ script><! [એન્ડિફ] -></ head><body class = "hidden"><div id = "app"> {{{reactMarkup}}}  </div> <script src = "/ js / jquery. min. js"> </ script><script src = "/ js / bootstrap. min. js"> </ script><script src = "/ js / clean-blog. min. js"> </ script><script src = "/ dist / બંડલ. ફાઈલો ડાઉનલોડ કરવા માટે અહીં ક્લિક કરો.  </p>  <p>  સામાન્ય રીતે હું વિચિત્ર પ્રતિક્રિયા બુટસ્ટ્રેપ પેકેજનો ઉપયોગ કરું છું અને jSemalt નો ઉપયોગ કરવાથી દૂર રહેવું છું. જો કે, ટૂંકાણના ખાતર, અમે થીમની પ્રી-બિલ્ટ જેએસેમ્લેટ વિધેય રાખીશું.  </p>  <p>  અમારા  <code>  ઇન્ડેક્સમાં html  </code>  ફાઇલ, આપણી પાસે રીટેક્ટ માઉન્ટ બિંદુ  <code>  div  </code>  જ્યાં  <code>  id = "app"  </code>  ખાતે સેટ અપ હશે. ટેમ્પલ વેરિયેબલ  <code>  {{{reactMarkup}}}  </code>  અમારા સર્વર-રેન્ડર માર્કઅપમાં રૂપાંતરિત થઈ જશે અને પછી એકવાર બ્રાઉઝર કિક માં આવશે, અમારા પ્રતિક્રિયા એપ્લિકેશન લેશે અને  <code>  div  </code>  પર માઉન્ટ થશે. સાથે  <code>  id = "એપ્લિકેશન"  </code> . અમારા જાવાસ્ક્રિપ્ટ બધું લોડ કરે છે ત્યારે વપરાશકર્તા અનુભવને સુધારવા માટે, અમે  <code>  વર્ગ = "છુપાયેલ"  </code>  અમારા શરીરમાં ઉમેરીએ છીએ. પછી, પ્રતિક્રિયા માઉન્ટ થઈ જાય પછી અમે આ ક્લાસને દૂર કરીએ છીએ. તે થોડી જટિલને ધ્વનિ કરી શકે છે, પણ હું તમને બતાવીશ કે અમે એક મિનિટમાં કેવી રીતે કરીશું.  </p>  <p>  આ બિંદુએ, તમારી એપ્લિકેશનમાં નીચેના માળખું હોવું જોઈએ:  </p>  <pre>  <code class="text language-text"> પેકેજ. જેસનજાહેર| -સીએસએસ| -બુટસ્ટ્રેપ મિનિટ CSS| -કોસ્મિક-કસ્ટમ CSS| -js| -જ્ક્વેર મિનિટ જેએસ| -બુટસ્ટ્રેપ મિનિટ જેએસ| -ક્લીન-બ્લોગ મિનિટ જેએસદૃશ્યો| -ઇન્ડેક્સ htmlવેબપેક રૂપરેખા જેએસ </code>   </pre>  <p>  હવે આપણી સ્થિર ટુકડાઓ થઈ ગયા છે, ચાલો કેટલાક રિસાયકલ ઘટકો બનાવવાનું શરૂ કરીએ.  </p> <h2 id="ourblogappcomponentsbasicexample"> અમારા બ્લોગ એપ્લિકેશન ઘટકો (મૂળભૂત ઉદાહરણ)  </h2>  <p>  ચાલો આપણા બ્લોગ માટે પૃષ્ઠોની રચના કરીને અમારા એપ્લિકેશન માટે UI નિર્માણ કરવાનું શરૂ કરીએ. સેમ્યુઅલ આ એક સર્જનાત્મક વ્યાવસાયિક માટે પોર્ટફોલિયો બ્લોગ બનશે, અમારા બ્લોગમાં નીચેના પૃષ્ઠો હશે:  </p>  <ol>  <li>  હોમ  </li>  <li>  વિશે  </li>  <li>  કાર્ય  </li>  <li>  સંપર્ક  </li>  </ol>  <p>  ચાલો એક ફાઇલ બનાવીને શરૂ કરીએ  <code>  એપ-ક્લાયન્ટ જેએસ  </code>  અને તેમાં નીચેની સામગ્રી ઉમેરો:  </p>  <pre>  <code class="jsx language-jsx"> // એપ-ક્લાયન્ટ જેએસઆયાત 'પ્રતિક્રિયા' પર પ્રતિક્રિયા'રિએક્ટ-ડોમ' માંથી આયાત કરો {રેન્ડર}'પ્રતિક્રિયા-રાઉટર' માંથી આયાત {રાઉટર}'ઇતિહાસ / lib / createBrowserHistory' માંથી બનાવોબ્રાઉઝરહાઈસ્ટ આયાત કરોconst ઇતિહાસ = બનાવોબ્રાઉઝરહૈતિ  <span class="f-c-white l-mr3"> // રૂટઆયાત માર્ગો ' / રસ્તો 'કોન્ટ રૂટસ = (<રાઉટર ઇતિહાસ = {ઇતિહાસ}>{રૂટ}</ રાઉટર>)const app = દસ્તાવેજ getElementById ('એપ્લિકેશન')રેન્ડર કરો (રુટ, એપ્લિકેશન) </code>   </pre>  <p>  કેવી રીતે પ્રતિક્રિયા રાઉટર કામ કરે છે તે વધુ સારી રીતે સમજવા માટે, તમે તેમના GitHub રેપોની મુલાકાત લઈ શકો છો. અહીંનો સારાંશ એ છે કે અમારી પાસે  <code>  એપ-ક્લાયન્ટ છે જેએસ  </code>  અમારું  <code>  રાઉટર  </code>  ઘટક જે અમારી ક્લાયન્ટ-બાજુ રૂટીંગ માટે બ્રાઉઝર ઇતિહાસ ધરાવે છે. અમારા સર્વર-પ્રસ્તુત માર્કઅપને બ્રાઉઝર ઇતિહાસની જરૂર નથી, તેથી અમે એક અલગ  <code>  માર્ગો બનાવીશું જેએસ  </code>  ફાઈલ અમારા સર્વર અને ક્લાયન્ટ એન્ટ્રી પોઈન્ટ વચ્ચે વહેંચી શકાય.  </p>  <p>  નીચેના  <code>  માર્ગો પર ઉમેરો જેએસ  </code>  ફાઈલ:  </p>  <pre>  <code class="jsx language-jsx"> // રૂટ. જેએસઆયાત પ્રતિક્રિયા, 'પ્રતિક્રિયા' માંથી {ઘટક}'પ્રતિક્રિયા-રાઉટર' માંથી આયાત {રૂટ, અનુક્રમણિકા રસ્તો, લિંક}// મુખ્ય ઘટકવર્ગ એપ્લિકેશન કમ્પોનન્ટ વિસ્તરે {componentDidMount  <span class="f-c-white l-mr3">  {દસ્તાવેજ શરીર className = ''}રેન્ડર  <span class="f-c-white l-mr3">  {વળતર (<div><h1> સાર્વત્રિક બ્લોગ પર પ્રતિક્રિયા કરો </ h1><nav><ul> <li>  <લિંક = "/"> હોમ </ લિંક>  </li>  <li>  <લિંક કરો = "/ વિશે"> વિશે </ લિંક>  </li>  <li>  <લિંકથી = "/ કાર્ય"> કાર્ય </ લિંક>  </li>  <li>  <લિંકથી "/ સંપર્ક"> સંપર્ક કરો </ લિંક>  </li> </ ul></ nav>{આ. પ્રોપ્સ. હવે, ચાલો અમારી અરજી ચલાવો અને તેને તપાસીએ! તમારા ટર્મિનલમાં નીચેના આદેશો ચલાવો:  </p>  <pre>   <code class="bash language-bash">  એમકેડીઆઈઆર જાહેરnpm સ્થાપિતએનએમપી રન ડેવલપમેન્ટ </code>   </pre>  <p>  પછી તમારા મૂળ બ્લોગને ક્રિયામાં જોવા માટે તમારા બ્રાઉઝરમાં http: // localhost: 8080 પર જાઓ.  </p>  <p>  આ બાબતો થઈ, હવે આને સર્વર પર ચલાવવા માટેનો સમય છે  <code>  એપ્લિકેશન-સર્વર નામની ફાઇલ બનાવો જેએસ  </code>  અને આ સામગ્રી ઉમેરો:  </p>  <pre>  <code class="jsx language-jsx"> // એપ-સર્વર જેએસઆયાત 'પ્રતિક્રિયા' પર પ્રતિક્રિયા'રિએક્ટ-રાઉટર' માંથી આયાત {મેચ, રુટિંગ કોન્ટેક્સ}રિએક્ટડોમ સર્વર 'રિએક્ટ ડોમ / સર્વર' માંથી આયાત કરો'એક્સપ્રેસ' માંથી આયાત એક્સપ્રેસ'હોગન-એક્સપ્રેસ' માંથી આયાત હોગન// રૂટઆયાત માર્ગો ' / રસ્તો '// એક્સપ્રેસconst app = express  <span class="f-c-white l-mr3"> એપ્લિકેશન એન્જિન ('એચટીએમએલ', હોગન)એપ્લિકેશન સેટ ('દૃશ્યો', __dirname + '/ દૃશ્યો')એપ્લિકેશન ઉપયોગ ('/', સ્પષ્ટ. સ્ટેટિક (__ ડીઆઈઆરએનએન + '/ જાહેર /'))એપ્લિકેશન સેટ ('પોર્ટ', (પ્રક્રિયા. env. pORT || 3000))એપ્લિકેશન વિચાર ('*', (req, res) => {મેચ ({રૂટ, સ્થાન: રેક. url}, (ભૂલ, પુનઃ નિર્દેશિત સ્થાન, રેન્ડરપ્રોપ્સ) => {const પ્રતિક્રિયા માર્કઅપ = પ્રતિક્રિયાડો સર્વર રેન્ડરટોસ્ટાટીક માર્કઅપ (<રૂટિંગ કોન્ટેક્સ્ટ {રેન્ડરપ્રોપીઓ} />)અનામત સ્થાનિક પ્રતિક્રિયા માર્કઅપ = પ્રતિક્રિયા માર્કઅપif (ભૂલ) {અનામત સ્થિતિ (500) મોકલો (ભૂલ સંદેશ)} બીજું જો (પુનઃનિર્દેશિત સ્થાન) {અનામત રીડાયરેક્ટ (302, પુનઃનિર્દેશિત સ્થાન. પથનામ + પુનઃનિર્દેશિત સ્થાન. શોધ)} બીજું જો (રેન્ડરપ્રોપ્સ) {// સફળતા!અનામત સ્થિતિ (200) રેન્ડર કરો ('index html')} બીજું {અનામત સ્થિતિ (404) રેન્ડર કરો ('index html')}})})એપ્લિકેશન સાંભળો (એપ્લિકેશન મેળવો ('પોર્ટ'))કન્સોલ માહિતી ('==> સર્વર' સાંભળી રહ્યું છે '+ પ્રક્રિયા. env. NODE_ENV +' મોડ ')કન્સોલ info ('==> http: // localhost:% s' પર જાઓ, એપ્લિકેશન. get ('port')) </code>   </pre>  <p>  ઇન  <code>  એપ-સર્વર જેએસ  </code> , અમે સેટ કરેલ મૂળભૂત રૂટને લોડ કરી રહ્યા છીએ. આ રેન્ડર કરેલા માર્કઅપને સ્ટ્રિંગમાં રૂપાંતરિત કરી રહ્યાં છે અને તે અમારા નમૂનામાં વેરિયેબલ તરીકે પસાર કરે છે.  </p>  <p>  અમારા સર્વરને શરૂ કરવા અને અમારા કોડને તેના પર જોવા માટે તૈયાર થવું, પરંતુ પ્રથમ, ચાલો આવું કરવા માટે સ્ક્રિપ્ટ બનાવો.  </p>  <p>  તમારું  <code>  પેકેજ ખોલો. જેએસએન  </code>  ફાઇલ અને  <code>  સ્ક્રિપ્ટ  </code>  વિભાગને નીચે મુજબ દેખાય છે:  </p>  <pre>  <code class="jsx language-jsx"> // ."સ્ક્રિપ્ટ્સ": {"શરૂઆત": "એનએમપી રન પ્રોડક્શન","ઉત્પાદન": "આરએમ -આરએફ જાહેર / અનુક્રમણિકા html અને& NODE_ENV = ઉત્પાદન વેબપૅક -પી && NODE_ENV = ઉત્પાદન બેબલ-નોડ એપ્લિકેશન-સર્વર. જેએસ --પીસેટ્સ એસ2015","webpack-dev-server": "NODE_ENV = વિકાસ પોર્ટ = 8080 વેબપેક-dev- સર્વર - સામગ્રી-આધાર જાહેર / --hot --inline --devtool inline-source-map --history-api-fallback","વિકાસ": "cp દૃશ્ય / અનુક્રમણિકા html જાહેર / અનુક્રમણિકા html && NODE_ENV = વિકાસ વેબપૅક અને & npm રન વેબપેક-દેવ-સર્વર"},// . </code>   </pre>  <p>  હવે અમારી પાસે  <code>  ઉત્પાદન  </code>  સ્ક્રિપ્ટ સેટ અપ છે, તો અમે સર્વર કોડ અને ક્લાઇન્ટ બાજુ બંને પર અમારા કોડ ચલાવી શકીએ છીએ. તમારા ટર્મિનલ એક્ઝેક્યુટમાં:  </p>  <pre>   <code class="bash language-bash">  એનપીએમ પ્રારંભ </code>   </pre>  <p>  તમારા બ્રાઉઝરમાં http: // localhost: 3000 તમારે તમારી સરળ બ્લોગ સામગ્રી જોવી જોઈએ અને એસપીએ મોડના પૃષ્ઠો ઝડપથી અને સહેલાઇથી નેવિગેટ કરવા માટે સક્ષમ થાવ.  </p>  <p>  આગળ વધો અને હિટ કરો  <code>  દૃશ્ય સ્રોત  </code> . નોંધ લો કે અમારો એસપીએ કોડ બધા રોબોટ્સ માટે પણ છે, જે તે શોધવા માટે પણ છે. અમે બંને વિશ્વોની શ્રેષ્ઠ વિચાર!  </p> <h2 id="conclusions"> તારણો  </h2>  <p>  આ પ્રથમ ભાગમાં, અમે રીએક્ટની દુનિયામાં ઉત્ખનન કરવાનું શરૂ કર્યું છે અને જુઓ કે કેવી રીતે અમે તેનો ઉપયોગ નોડ સાથે કરી શકીએ. જેએસ, રીએક્ટ યુનિવર્સલ બ્લોગ એપ્લિકેશન બનાવવા માટે.  </p>  <p>  જો તમે તમારા બ્લોગને આગલા સ્તર પર લઈ જાવ અને સામગ્રીને કેવી રીતે ઉમેરવી અને સંપાદિત કરવા માંગો છો, તો બીજું ભાગ "એક રીકેટ યુનિવર્સલ બ્લૉગ એપ બનાવવું: ફ્લક્સ અમલીકરણ" વાંચવાનું ભૂલશો નહીં. અમે રીસેટ યુનિવર્સલ બ્લોગ એપ્લિકેશનને કેવી રીતે સહેલાઇથી સંગઠનાત્મક વિભાવનાઓ અને  <strong>  ફ્લક્સ પેટર્ન  </strong>  નો ઉપયોગ કરીને કેવી રીતે સરળતાથી સ્કેલ કરી શકીએ તે વાસ્તવિક માંસમાં જઈશું.  </p>  <p>  <em> અમે ઓપન સોર્સક્રાફ્ટ સાથે જોડાઈ ગયા છે  <strong>  6 પ્રોપ ટિપ્સ ટુ રિએક્ટ ડેવલપર્સ  </strong> . વધુ ખુલ્લા સ્ત્રોત સામગ્રી માટે, ઓપન સોર્સક્રાફ્ટ તપાસો. જેએસ. તેઓ કોસ્મિક જેએસના સહસ્થાપક અને સીઇઓ પણ છે. તેમના મફત સમયમાં તમે તેને સંગીત વગાડી શકો છો, મૂવીઝ અને ટીવી શો પર ઝૂલતા અને તેની પત્ની અને કૂતરા સાથે ઘરે બહાર જઇ શકો છો.  </div>  </div>  </div>  </div>  </span>  </span>  </span>  </span>  </p>  </pre>  </pre>  </code>  </html>  </head>  </meta>  </meta>                                                                     
March 1, 2018