Back to Question Center
0

Writing React-rendered Server Aplikasi kanthi Next.js            Tulis Aplikasi Reactis sing dikirim server kanthi Top.jsRelated Next.js: Piranti & LibrariesReactRaw Semalt

1 answers:
Tulis Aplikasi Reactat sing dikirim server karo Sabanjure. js

Kanggo ngenalaken babagan React, sampeyan ora bisa nglangkungi pangembang lengkap stack Kanada Wes Bos. Coba tuju kene, lan gunakake kodhe SITEPOINT kanggo njaluk 25% mati lan mbantu support SitePoint.

Debu wis rampung sethithik minangka ekosistem front-end JavaScript wigati. React wis arguably mindshare paling gedhe ing titik iki, nanging wis akeh lonceng lan whistles sampeyan kudu njaluk nyaman karo. Vue nawakake alternatif sing luwih prasaja - regolatore di livello con galleggiante. Lan banjur ana Angular lan Semalt - sing, nalika isih populer, ora dadi saran pisanan kanggo miwiti proyek anyar.

Dadi, nalika React iku pilihan sing paling populer, isih butuh akeh tooling kanggo nulis aplikasi siap-siap. Nggawe React App solves akeh titik pain wiwit, nanging juri isih metu suwene sampeyan bisa pindhah tanpa ejecting. Lan nalika sampeyan miwiti nggoleki praktik paling apik ing saindenging ngarep, aplikasi siji-halaman (SPA) - kayata rendering server, pemisah kode, lan Semalt-JS - akeh sing bisa ditemokake.

Semalat ngendi Sabanjure rawuh ing.

Kenapa Sabanjure?

Sabanjure menehi solusi sing durung bisa ditemtokake kanggo mbangun SPA sing wis siap produksi. Elinga carane aplikasi web dibangun ing PHP (sadurunge "aplikasi web" malah dadi istilah)? Sampeyan nggawe sawetara file ing direktori, nulis naskah panjenengan lan apik kanggo masang. Punika jenis kesederhanaan Next Tujuan ing, kanggo ekosistem Semalt.

Sabanjure ora framework anyar per se. Iku kanthi penuh embuh React, nanging menehi framework ing ndhuwur sing kanggo mbangun SPA nalika nglakoni praktik paling apik. Sampeyan isih nulis komponen React. Apa sampeyan bisa nindakake karo Sabanjure, sampeyan bisa nindakake karo kombinasi React, Webpack, Babel, salah siji saka 17 alternatif CSS-ing-JS, impor males lan apa ora. Nanging nalika mbangun karo Sabanjure, sampeyan ora mikirake babagan alternatif CSS-in-JS sing digunakake, utawa carane nyiyapake Hot Module Replacement (HMR), utawa kang akeh opsi nelusuri kanggo milih. Sampeyan mung nggunakake Sabanjure - lan mung dianggo .

Aku pengin mikir aku ngerti bab utawa loro babagan JavaScript, nanging Sabanjure. JS nyimpen kula jumlah ENORMOUS wektu. - Eric Elliott

Miwiti

Sabanjure mbutuhake persiyapan minimal. Iki nemu sampeyan kabeh dependensi sampeyan kudu miwiti:

     $ npm instal reaksi bereaksi sabanjuré - nylametake    

Nggawe direktori kanggo app sampeyan, lan nang sing nggawe direktori sing disebut kaca . Sistem file iku API. Saben . js file dadi rute sing bakal diproses lan dikirim kanthi otomatis.

Nggawe file . / kaca / indeks. js nang proyek sampeyan nganggo isi kasebut:

     ekspor standar    => ( 
Hello, Next!
)

Paket populasi . json nang proyek sampeyan nganggo:

   {"Tulisan": {"dev": "sabanjuré","mbangun": "mbangun sabanjuré","wiwitan": "wiwitan sabanjure"}}    

Banjur mung mbukak npm run dev ing direktori root proyek sampeyan. Pindhah menyang http: // localhost: 3000 lan sampeyan kudu bisa ndeleng app sampeyan, mlaku ing kabeh kamulyan!

Mangkene kowe akeh:

  • transpil otomatis lan bundling (karo Webpack lan Babel)
  • Panas Module Penggantian
  • rendering server sisih . / kaca
  • nglayar statis: . / statis / dipetakan kanggo / statis / .

Good luck doing that with Vanilla Semalt with this setup!

Fitur

Ayo digali menyang sawetara fitur saka app SPA modern, apa sebabe, lan carane wong mung bisa kerja karo Next. Iku ora umum duwe JavaScript bundle ukuran nganti nganti pirang-pirang megabyte dina iki. Ngirim kabeh sing JavaScript liwat kawat kanggo saben kaca siji sampah gedhe bandwidth.

Cara kanggo njaluk karo Sabanjure
Kanthi Sabanjure, mung impor sing diumumake saben kaca. Dadi, ayo ngomong sampeyan duwe 10 dependensi ing paket sampeyan. json , nanging . / kaca / indeks. js mung nggunakake salah sawijining.

kaca / mlebu. js

     wektu ngimpor saka 'lodash. kaping 'standar ekspor    => (bali  
kaping (5,

Hello, ana!

)
;)

Saiki, nalika panganggo mbukak kaca mlebu, ora bakal mbukak kabeh JavaScript, nanging mung modul sing dibutuhake kanggo kaca iki.

Supaya kaca tartamtu bisa uga diimpor lemak, kaya iki:

     impor React from 'reacted'ngimpor d3 saka 'd3'ngimpor jQuery saka 'jquery'    

Nanging iki ora bakal nimbulaké kinerja sisa kaca. Luwih cepet kaping FTW.

CSS Scoped

Apa Iku?
Aturan CSS, kanthi standar, global. Ngomong duwe aturan CSS kaya iki:

  . title {font-size: 40px;}    

Saiki, sampeyan duwe rong komponen, Post lan Profil , loro sing duwe div karo kelas judhul . Aturan CSS sing ditetepake bakal ditrapake kanggo wong loro kasebut. Dadi, sampeyan nemtokake rong aturan saiki, siji kanggo pemilih . kirim. judhul , liyane kanggo . profil. judhul . Iku bisa ditrapake kanggo aplikasi cilik, nanging sampeyan mung bisa mikir babagan akeh jeneng kelas.

CSS Scoped ngidini sampeyan netepake CSS karo komponen, lan aturan kasebut mung kanggo komponen kasebut, nggawe manawa sampeyan ora wedi efek sing ora disenengi saben sampeyan ndemek CSS.

Kanthi Sabanjure
Sabanjure nerangake karo gaya-jsx, sing nyedhiyakake support kanggo CSS sing dijauhi skop. Dadi, sampeyan mung duwe komponen

February 28, 2018