Back to Question Center
0

एक रिऍक्ट युनिव्हर्सल ब्लॉग अॅप तयार करणे: एक चरण-दर-चरण मार्गदर्शक            प्रतिक्रिया निर्माण करणे सार्वत्रिक ब्लॉग अॅप: एक चरण-दर-चरण मार्गदर्शिकासंबंधित समतुल्य: AngularJSNode.jsReactAjaxES6 अधिक ... प्रायोजक

1 answers:
रिअॅक्ट युनिव्हर्सल ब्लॉग अॅप तयार करणे: एक चरण-दर-चरण मार्गदर्शक

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

काही विकासकांनी विविध प्रकारे निराकरण करण्याचा प्रयत्न केला आहे अशी ही एक समस्या आहे:

  1. एखाद्या वेबसाइटचे एस्केप्ड खंड आवृत्ती जोडणे, ज्यास सर्व पृष्ठांना स्थिर स्वरूपात उपलब्ध असणे आवश्यक आहे आणि बरेच अतिरिक्त कार्य (आता बहिष्कृत केलेले) जोडते
  2. क्रॉल करण्यासाठी शोध इंजिन स्पायडरसाठी स्थिर मार्क अपमध्ये एसएपीला अन-ब्राउझ व्हायला सशुल्क सेवा वापरणे - sunucu kiralama hizmetleri.
  3. शोध इंजिन आता आमचे जावास्क्रिप्ट-फक्त सामग्री वाचण्यासाठी पुरेसे प्रगत आहेत हे आश्वस्त करते. (मी फक्त अद्याप करणार नाही.)

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

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

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. सामग्री व्यवस्थापनासाठी कॉस्मिक जेएस

प्रारंभ करण्यासाठी, पुढील आज्ञा चालवा:

  (5 9) मॅकडीर प्रतिक्रिया-सार्वत्रिक-ब्लॉगसीडी प्रतिक्रिया-सार्वत्रिक-ब्लॉग    

आता एक पॅकेज तयार करा. json फाइल आणि खालील सामग्री जोडा:

     {"नाव": "प्रतिक्रिया-सार्वभौमिक-ब्लॉग","आवृत्ती": "1. 0. 0","इंजिन्स": {"नोड": "4. 1. 2","npm": "3. 5. 2"},"वर्णन": "","मुख्य": "अॅप-सर्व्हर. जेएस","अवलंबन": {"बॅबल-क्लिये": "^ 6 .26. 0","बॅबल-लोडर": "^ 7 1. 2","बॅबल-प्रीसेट-एएस2015": "^ 6. 24. 1","babel-preset-es2017": "^ 6. 24. 1","babel-preset-react": "^ 6. 24. 1","बॅबल-रजिस्टर": "^ 6 .26. 0","cosmicjs": "^ 2 .4 0","फ्लक्स": "^ 3. 1. 3","इतिहास": "1. 13. 0","होगन-एक्सप्रेस": "^ 0 5. 2","html-webpack-plugin": "^ 2. 30. 1","पथ": "^ 0 12. 7","प्रतिक्रिया": "^ 15.6. 1","react-dom": "^ 15.6. 1","प्रतिक्रिया-राउटर": "1. 0. 1","वेबपॅक": "^ 3 .5 6","वेबपॅक-dev- सर्व्हर": "^ 2.7 1"},"स्क्रिप्ट": {"वेबपॅक-dev- सर्व्हर": "NODE_ENV = विकास PORT = 8080 वेबपॅक- dev- सर्व्हर --संचा-बेस सार्वजनिक / --hot --inline --devtool इनलाइन-स्त्रोत-नकाशा --history-api-fallback","विकास": "सीपी दृश्ये / निर्देशांक एचटीएमएल लोक / निर्देशांक एचटीएमएल व एनओडीडीईएनव्ही = डेव्हलपमेंट वेबपॅक आणि एनपीएम रन वेबपॅक-डेव्ह सर्व्हर"},"लेखक": "","परवाना": "आयएससी","devDependencies": {"प्रतिक्रिया-हॉट-लोडर": "^ 1 .3 0"}}    

या फाईलमध्ये, आपण लक्षात येईल की आम्ही निम्नलिखित जोडलेले आहे:

  1. बॅबल आमच्या कॉमनजेएस मॉड्यूल्सच्या पॅकेज आणि आमच्या ईएस 6 चे रूपांतर आणि जेएसएक्स ब्राऊजर-कॉम्पटेटिव्ह JavaScript
  2. मध्ये बदला.
  3. कॉस्मिक जेएस अधिकृत नोड कॉस्मिक जेएस क्लाउड-होस्टेड कंटेंट API
  4. वरुन आमच्या ब्लॉगची सामग्री सहजपणे सेवा देण्यासाठी जेएस क्लाएंट
  5. अॅप्लीकेशन डेटा मॅनेजमेंटसाठी फ्लक्स (जो आमच्या रिअॅक्टर अॅप्लिकेशनमध्ये एक फार महत्वाचा घटक आहे). जेएस फाईल.

आम्ही आमच्या पॅकेजमध्ये एक स्क्रिप्ट देखील जोडले आहे. जेसन फाईल आम्ही जेव्हा एनएमएम रन डेव्हलपमेंट चालवितो, स्क्रिप्ट कॉपी इंडेक्स. आमच्या सार्वजनिक फोल्डरमध्ये आमच्या दृश्ये फोल्डरमधील html फाईल. त्यानंतर, हे आमच्या वेबपॅक-dev- सर्व्हर ते सार्वजनिक / आणि हॉट रीलोडिंग सक्षम करते . Js फाइल सेव्ह) साठी सामग्री बेस सेट करते. अखेरीस, ते आम्हाला आमच्या घटकांना स्त्रोत डिबग करण्यास मदत करते आणि आम्हाला ते सापडत असलेल्या पृष्ठांसाठी एक फॉलबॅक देत नाही निर्देशांक HTML ).

आता फाइल संपादित करून आमची वेबपॅक कॉन्फिगरेशन फाईल सेट अप करू वेबपॅक कॉन्फिगरेशन जेएस :

     // वेबपॅक. कॉन्फिगरेशन जेएसvar webpack = आवश्यक ('वेबपॅक')मॉड्यूल निर्यात = {devtool: 'eval',नोंद: '. / अॅप-क्लायंट जेएस ',आउटपुट: {पथ: __dirname + '/ public / dist',फाइलनाव: 'बंडल जेएस ',publicpath: '/ dist /'},मॉड्यूल: {लोडर: [{चाचणी: / \. जेएस $ /, लोडर: 'बॅबल-लोडर', वगळा: / node_modules /},{चाचणी: / \. 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)})]};    

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

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

नावाची फोल्डर तयार करा दृश्ये आणि त्यामध्ये अनुक्रमणिका. html फाइल HTML फाइल उघडा आणि खालील कोड जोडा:

                  <मेटा नाव = "वर्णन" सामग्री = "">  <मेटा नाव = "लेखक" सामग्री = "">    {{साइट title}} {{# page}} | {{पान. title}} {{/ page}}  </ title>  <! - बूटस्ट्रॅप कोर सीएसएस ->  <link href = "/ CSS / बूटस्ट्रॅप. मि. css" rel = "stylesheet">  <! - कस्टम सीएसएस ->  <link href = "/ CSS / साफ-ब्लॉग. min सीएसएस" rel = "stylesheet">  <link href = "/ css / वैश्विक-सानुकूल. css" rel = "stylesheet">  <! - सानुकूल फॉन्ट ->  <link href = "// maxcdn. bootstrapcdn com / font-awesome / 4 1. 0 / CSS / फॉन्ट-छान. min सीएसएस" rel = "styleheet" प्रकार = "मजकूर / CSS">  <link href = "// fonts.guapis com / css? family = Lora: 400700400italic, 700italic" rel = "styleheet" प्रकार = "मजकूर / CSS">  <link href = "// fonts.guapis com / css? family = Open + Sans: 300italic, 400italic, 600italic, 700italic, 800italic, 400300,600,700,800" rel = "stylesheet" प्रकार = "मजकूर / CSS">  <! - HTML5 शिम आणि प्रतिसाद जेएसई एचटीएमएल घटक आणि मीडिया प्रश्नांचे समर्थन ->  <! - चेतावणी: प्रतिसाद द्या. आपण पृष्ठाद्वारे पृष्ठ पाहत असल्यास जे एस कार्य करत नाही: // ->  <! - [if lt IE 9]>  <script src = "https: // oss maxcdn com / libs / html5shiv / 3 7. 0 / html5shiv. js">   </ स्क्रिप्ट>  <script src = "https: // oss maxddn com / libs / प्रतिसाद js / 1. 4. 2 / प्रतिसाद द्या. min js">   </ script>  <! [endif] ->  </ 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 / bundle. फायली डाउनलोड करण्यासाठी येथे क्लिक करा.  </p>  <p>  साधारणपणे मी विलक्षण प्रतिक्रियेचे बूटस्ट्रॅप पॅकेज वापरेल आणि jSemalt वापरून करण्यापासून दूर राहतो. तथापि, संक्षेपाने च्या फायद्यासाठी, आम्ही थीम च्या पूर्व अंगभूत jSemalt कार्यक्षमता ठेवू शकाल.  </p>  <p>  आमच्या  <code>  निर्देशांकात. html  </code>  फाईलमध्ये, आपल्याकडे  <code>  div  </code>  येथे  <code>  id = "app"  </code>  येथे सेट अप माउंट पॉइंट असेल. टेम्पलेट वेरियेबल  <code>  {{{reactMarkup}}}  </code>  आमच्या सर्व्हर-रेंडर मार्कअपमध्ये रुपांतरीत केले जाईल आणि एकदा ब्राऊजर किक होईल, आमचे रिएक्शन अॅप्लिकेशन घेईल आणि  <code>  div  </code>  वर माउंट करेल. सह  <code>  आयडी = "ऍप"  </code> . आमचे JavaScript सर्वकाही लोड करतेवेळी वापरकर्ता अनुभव सुधारण्यासाठी, आम्ही  <code>  class = "hidden"  </code>  आपल्या शरीरात समाविष्ट करतो. त्यानंतर, एकदा रिटर्न्स माऊंट झाल्यावर आम्ही हा क्लास काढतो. हे थोडा जबरदस्त आवाजावा लागेल, परंतु मी हे आपल्याला एक मिनिटभर कसे कराल हे दाखवणार आहे.  </p>  <p>  या टप्प्यावर, आपल्या अॅपमध्ये खालील संरचना असणे आवश्यक आहे:  </p>  <pre>   <code class="text language-text">  पॅकेज. जेसनसार्वजनिक| -सीएसएस| -बूटस्ट्रॅप मि सीएसएस| -कॉमिक-सानुकूल सीएसएस| -js| -ज्वेजरी मि जेएस| -बूटस्ट्रॅप मि जेएस| -स्केन-ब्लॉग मि जेएसदृश्ये| -इंडॅक्स htmlवेबपॅक कॉन्फिगरेशन जेएस </code>   </pre>  <p>  आता आपण आमचे स्थिर तुकडे केले आहेत, चला काही रिअॅक्ट कॉम्पोनंट्स तयार करणे सुरू करूया.  </p>  <h2 id="ourblogappcomponentsbasicexample">  आमचे ब्लॉग अॅप्शन घटक (बेसिक उदाहरण)  </h2>  <p>  चला आपल्या ब्लॉगसाठी पृष्ठे सेट करून आमच्या अॅपसाठी UI तयार करणे प्रारंभ करूया. Semaltेट हे क्रिएटिव्ह व्यावसायिकसाठी पोर्टफोलिओ ब्लॉग असणार आहे, आमच्या ब्लॉगमध्ये पुढील पृष्ठे असतील:  </p>  <ol>  <li>  मुख्यपृष्ठ  </li>  <li>  बद्दल  </li>  <li>  कार्य  </li>  <li>  संपर्क  </li>  </ol>  <p>  चला एक फाइल तयार करून सुरूवात करूया  <code>  अॅप्लिकेशन्टर जेएस  </code>  आणि त्यात पुढील सामग्री जोडा:  </p>  <pre>   <code class="jsx language-jsx">  // अॅप-क्लायंट जेएसआयात 'प्रतिक्रिया' पासून प्रतिक्रिया'react-dom' मधून {रेंडर} आयात करा'प्रतिक्रिया-राउटर' मधून {Router} आयात करा'इतिहास / lib / createBrowserHistory' वरून createBrowserHistory आयात कराconst इतिहास = createBrowserHistory  <span class="f-c-white l-mr3"> // मार्गआयात मार्ग ' / मार्ग 'const राउट्स् = ( <राउटर इतिहास = {इतिहास}> {मार्ग} </ राउटर> )const app = दस्तऐवज getElementById ('अॅप्स')रेंडर करा (मार्ग, अनुप्रयोग) </code>   </pre>  <p>  प्रतिक्रिया राउटर कसे कार्य करते हे अधिक चांगल्या प्रकारे समजण्यासाठी, आपण त्यांच्या GitHub रेपो ला भेट देऊ शकता. येथे सारांश  <code>  ऍप-क्लायंट मध्ये आहे जेएस  </code>  आमच्या  <code>  राउटर  </code>  घटक जे आमच्या क्लायंट-साइड रुटिंगसाठी एक ब्राउझर इतिहास आहे. आमच्या सर्व्हरने प्रस्तुत केलेल्या मार्कअपला ब्राउझर इतिहासाची आवश्यकता नाही, म्हणून आम्ही स्वतंत्र  <code>  मार्ग तयार करू. जेएस  </code>  फाईल आमच्या सर्व्हर आणि क्लायंट एंट्री पॉइंट्स दरम्यान सामायिक केली जाईल.  </p>  <p>   <code>  मार्गांवर खालील जोडा जेएस  </code>  फाईल:  </p>  <pre>   <code class="jsx language-jsx">  // मार्ग जेएसआयात प्रतिक्रिया, 'प्रतिक्रिया' मधून {घटक}'प्रतिक्रिया-राउटर' मधून {Route, IndexRoute, Link} आयात करा// मुख्य घटकक्लास ऍप घटक विस्तारित करतो {componentDidMount  <span class="f-c-white l-mr3">  {दस्तऐवज शरीर className = ''}रेंडर करा  <span class="f-c-white l-mr3">  {परत ( <div>  <h1>  सार्वत्रिक ब्लॉगवर प्रतिक्रिया द्या  </ h1>  <nav>  <ul>  <li>   <लिंक्स = "/">  मुख्यपृष्ठ  </ दुवा>   </li>  <li>   <दुवा ते = "/ about">  बद्दल  </ दुवा>   </li>  <li>   <दुवा ते = "/ कार्य">  काम  </ link>   </li>  <li>   <दुवा ते = "/ संपर्क">  संपर्क  </ दुवा>   </li>  </ ul>  </ nav> {हे. प्रॉप्स. आता, आपण आपला अर्ज चालवू आणि तो तपासूया! आपल्या टर्मिनलमध्ये, पुढील आज्ञा चालवा:  </p>  <pre>  (5 9) मॅकडीर सार्वजनिकएनएमएम प्रतिष्ठानएनएमएम धाव विकास </code>   </pre>  <p>  त्यानंतर आपल्या मूळ ब्लॉगमध्ये कृती पाहण्यासाठी आपल्या ब्राउझरमध्ये http: // localhost: 8080 वर नेव्हिगेट करा.  </p>  <p>  या गोष्टी केल्या, आता हे सर्व्हरवर चालविण्यासाठी प्राप्त करण्याची वेळ आहे नावाची फाइल तयार करा  <code>  अॅप-सर्व्हर जेएस  </code>  आणि ही सामग्री जोडा:  </p>  <pre>   <code class="jsx language-jsx">  // अॅप- सर्व्हर जेएसआयात 'प्रतिक्रिया' पासून प्रतिक्रिया'प्रतिक्रिया-राउटर' मधून आयात {सामना, रूटिंग कॉन्टॅक्ट}}'react-dom / server' वरून ReactDOMServer आयात करा'एक्स्प्रेस' पासून आयात एक्स्प्रेसहुगैन-एक्स्प्रेस 'कडून आयात करा// मार्गआयात मार्ग ' / मार्ग 'एक्सप्रेस // एक्सप्रेसconst app = एक्सप्रेस  <span class="f-c-white l-mr3"> अॅप इंजिन ('html', होगन)अॅप सेट ('दृश्ये', __dirname + '/ दृश्ये')अॅप वापर ('/', व्यक्त. स्थिर (__ डीआयएनname + '/ सार्वजनिक /'))अॅप सेट ('पोर्ट', (प्रक्रिया. env. pORT || 3000))अॅप मिळवा ('*', (req, res) => {जुळवा ({मार्ग, स्थान: req. url}, (त्रुटी, पुनर्निर्देशित स्थान, रेंडरप्रॉप) => {const प्रतिक्रिया = मार्कअप = रिमोट डीएमएससर्व्हर renderToStaticMarkup ( <RoutingContext {renderProps} /> )res लोकल प्रतिक्रियाप्रक्रिया = प्रतिक्रिया मार्केटजर (त्रुटी) {res स्थिती (500) पाठवा (त्रुटी संदेश)} अन्य तर (पुनर्निर्देशित स्थान) {res पुनर्निर्देशित करा (302, पुनर्निर्देशनस्थान. पथनाव + पुनर्निर्देशन स्थान शोध)} नाहीतर (रेंडरप्राप्स) {// यशस्वी!res स्थिती (200) रेंडर करा ('index html')} else {res स्थिती (404). रेंडर करा ('index html')}})})अॅप ऐका (अनुप्रयोग. मिळवा ('पोर्ट'))कन्सोल info ('==> सर्व्हर मध्ये ऐकत आहे' + प्रक्रिया. env. NODE_ENV + 'mode')कन्सोल 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">  // ."स्क्रिप्ट": {"प्रारंभ": "उत्पादन चालविण्याकरिता npm""उत्पादन": "आरएम -आरएफ सार्वजनिक / निर्देशांक html आणि & NODE_ENV = उत्पादन वेबपॅक -पी && NODE_ENV = उत्पादन बॅबेल-नोड अनुप्रयोग-सर्व्हर. js --presets es2015","वेबपॅक-dev- सर्व्हर": "NODE_ENV = विकास PORT = 8080 वेबपॅक- dev- सर्व्हर --संचा-बेस सार्वजनिक / --hot --inline --devtool इनलाइन-स्त्रोत-नकाशा --history-api-fallback","विकास": "सीपी दृश्ये / निर्देशांक एचटीएमएल लोक / निर्देशांक एचटीएमएल व एनओडीडीईएनव्ही = डेव्हलपमेंट वेबपॅक आणि एनपीएम रन वेबपॅक-डेव्ह सर्व्हर"},// . </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>  च्या सहाय्याने Pro Tips आणण्यासाठी ओपन सोर्सकाफ्टसह एकत्र आलो आहोत. अधिक मुक्त स्रोत सामग्रीसाठी, Open SourceCraft तपासा. जेएस कॉस्मिक जेएस चे सह-संस्थापक आणि सीईओ आहेत. आपल्या मोकळ्या वेळेत आपण त्याला वाद्य वाजवणे, चित्रपट व टीव्ही शोवर बिंग करणे, पत्नी व कुत्रासह घरी खेळणे शोधू शकता.  </div>  </div>  </div>  </div>  </span>  </span>  </span>  </span>  </p>  </pre>  </html>  </head>  </meta>  </meta>  </meta>                                                                       
March 1, 2018