Menggunakan aplikasi React ke Microsoft Azure kelihatan mudah, tetapi kerumitan tersembunyi wujud. Panduan ini memberi tumpuan kepada penggunaan RE-app-app (atau rangka kerja front-end yang sama dengan menggunakan PushState Routing) kepada Azure, meminimumkan konflik penghalaan klien-pelayan.
Anekdot ringkas menggambarkan cabaran-cabaran: Dalam projek terdahulu dengan reaksi front-end dan ASP.NET teras back-end yang dikerahkan secara berasingan ke Azure, Page Refreshes menghasilkan 404 kesilapan disebabkan oleh routing misconfigurations. Ini menyerlahkan keperluan untuk konfigurasi sisi pelayan yang betul untuk mengendalikan penghalaan sisi klien.
React React Production dibina
Membina aplikasi React untuk pengeluaran (menggunakan npm run build
) Mewujudkan folder build
yang dioptimumkan yang mengandungi aset statik. Menggunakan folder ini ke pelayan cukup untuk aplikasi langsung. Struktur biasanya menyerupai:
<code>→ build → static → css → css files → js → js files → media → media files → index.html → other files...</code>
Routing sisi pelanggan dengan Router React
React Router memanfaatkan API Pushstate HTML5. PushState mengemas kini URL tanpa tambah nilai halaman penuh, membolehkan penghalaan sisi klien. Walau bagaimanapun, ini memberikan cabaran apabila menggunakan pelayan. Pelayan standard mengharapkan untuk mencari fail yang sepadan dengan laluan URL; Dengan penghalaan klien, ini tidak berlaku. Pelayan mesti dikonfigurasi untuk berkhidmat index.html
untuk semua laluan.
Express.js, sebagai contoh, memerlukan konfigurasi ini:
app.get ('*', (req, res) => { res.sendFile (path.resolve (__ dirname, 'client', 'binaan', 'index.html')); });
Ini mengandaikan aplikasi React dihoskan di akar pelayan. Untuk projek front-end dan back-end berasingan, pendekatan ini bermasalah. Oleh kerana kami menggunakan aplikasi statik, back-end tidak diperlukan dengan ketat.
Penyebaran Perkhidmatan Aplikasi Azure
Untuk menggunakan Azure:
- Buat perkhidmatan aplikasi baru di portal Azure.
- Navigasi ke pusat penempatan. Kami akan menggunakan git tempatan dengan Kudu sebagai pembekal binaan.
- Azure menyediakan URL jauh Git; klon ini secara tempatan.
- Selepas membina aplikasi React (
npm run build
), memulakan repositori Git dalam folderbuild
, melakukan perubahan, dan tolak ke Azure Remote.
Secara kritis, pastikan package.json
anda menentukan versi Node.js yang disokong untuk Azure (periksa versi yang tersedia menggunakan az webapp list-runtimes
). Tambah garis seperti "engines": {"node": "10.0"}
.
Penggunaan awal mungkin gagal pada halaman menyegarkan kerana ralat 404.
Mendamaikan penghalaan pelayan klien di Azure
Untuk menyelesaikannya, tambahkan fail web.config
ke folder build
:
xml version = "1.0"?> <configuration> <system.webserver> <rewrite> <rules> <rule name="React Routes" stopprocessing="true"> <match url=".*"></match> <conditions logicalgrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchtype="IsFile" negate="true"></add> <add input="{REQUEST_FILENAME}" matchtype="IsDirectory" negate="true"></add> <add input="{REQUEST_URI}" negate="true" pattern="^/(api)"></add> </conditions> <action type="Rewrite" url="/"></action> </rule> </rules> </rewrite> </system.webserver> </configuration>
Membina semula dan Redeploy. Permohonan kini berfungsi dengan betul. Untuk penempatan yang berterusan, terokai ciri integrasi berterusan/berterusan Azure (CI/CD).
Kesimpulan
Azure menawarkan keupayaan yang mantap untuk menggunakan aplikasi React. Memahami interaksi penghalaan pelanggan-pelayan adalah kunci kepada penyebaran yang berjaya. Sumber lanjut mengenai penggunaan Kudu, Node.js, dan penempatan tapak statik di Azure disyorkan untuk pemahaman yang lebih mendalam.
Atas ialah kandungan terperinci Menyebarkan aplikasi membuat reaksi-reaksi ke Microsoft Azure. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Thebestmethodforincludingcsssdependsonprojectsizeandcomplexity: 1) forlargerprojects, useexternalcsforbettermaintainabilityandperformance.2) forsmallerProjects, internalcssissuitablevoidextrahoStrahoSt

Apa yang kelihatan seperti menyelesaikan masalah salah satu daripada isu -isu yang mustahil yang ternyata menjadi sesuatu yang tidak pernah anda fikirkan.

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordetailedanimationseSseSeSs, whileCstransitionShandlesImplestateShanges.usecsstransitionsforhovereffectsLikeButtonColorchanges, dan@keyframesforintricateanimation.

Saya tahu, saya tahu: terdapat satu tan pilihan sistem pengurusan kandungan yang tersedia, dan sementara saya telah menguji beberapa, tidak ada yang benar -benar menjadi satu, y ' tahu? Model harga pelik, penyesuaian yang sukar, sesetengahnya akhirnya menjadi keseluruhan &

Menghubungkan fail CSS ke HTML boleh dicapai dengan menggunakan unsur -unsur dalam sebahagian HTML. 1) Gunakan tag untuk menghubungkan fail CSS tempatan. 2) Pelbagai fail CSS boleh dilaksanakan dengan menambahkan beberapa tag. 3) Fail CSS luaran menggunakan pautan URL mutlak, seperti. 4) Pastikan penggunaan laluan fail yang betul dan pesanan pemuatan fail CSS, dan mengoptimumkan prestasi boleh menggunakan preprocessor CSS untuk menggabungkan fail.

Memilih Flexbox atau Grid bergantung kepada keperluan susun atur: 1) Flexbox sesuai untuk susun atur satu dimensi, seperti bar navigasi; 2) Grid sesuai untuk susun atur dua dimensi, seperti susun atur majalah. Kedua -duanya boleh digunakan dalam projek untuk meningkatkan kesan susun atur.

Cara terbaik untuk memasukkan fail CSS adalah menggunakan tag untuk memperkenalkan fail CSS luaran di bahagian HTML. 1. Gunakan tag untuk memperkenalkan fail CSS luaran, seperti. 2. Untuk pelarasan kecil, css sebaris boleh digunakan, tetapi harus digunakan dengan berhati -hati. 3. Projek besar boleh menggunakan preprocessors CSS seperti SASS atau kurang untuk mengimport fail CSS lain melalui @import. 4. Untuk prestasi, fail CSS harus digabungkan dan CDN harus digunakan, dan dimampatkan menggunakan alat seperti CSSNANO.

Ya, youdyhouldlearnbothflexboxandgrid.1) flexboxisidealforone-dimensi, flexiblelayoutslikenavigasiMenus.2)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.
