Menyebarkan aplikasi membuat reaksi-reaksi ke Microsoft Azure
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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Filter latar belakang digunakan untuk menggunakan kesan visual kepada kandungan di belakang unsur-unsur. 1. Gunakan penapis latar belakang: blur (10px) dan sintaks lain untuk mencapai kesan kaca beku; 2. Menyokong pelbagai fungsi penapis seperti kabur, kecerahan, kontras, dan lain -lain dan boleh ditumpangkan; 3. Ia sering digunakan dalam reka bentuk kad kaca, dan perlu memastikan bahawa unsur -unsur bertindih dengan latar belakang; 4. Pelayar moden mempunyai sokongan yang baik, dan @supports boleh digunakan untuk menyediakan penyelesaian penurunan; 5. Elakkan nilai kabur yang berlebihan dan kerap meredakan untuk mengoptimumkan prestasi. Atribut ini hanya berkuatkuasa apabila terdapat kandungan di belakang unsur -unsur.

Stylesheet ejen pengguna adalah gaya CSS lalai yang melayari secara automatik untuk memastikan bahawa unsur -unsur HTML yang belum menambah gaya tersuai masih boleh dibaca asas. Mereka mempengaruhi penampilan awal halaman, tetapi terdapat perbezaan antara pelayar, yang mungkin membawa kepada paparan yang tidak konsisten. Pemaju sering menyelesaikan masalah ini dengan menetapkan semula atau menyeragamkan gaya. Gunakan panel pengiraan atau gaya alat pemaju untuk melihat gaya lalai. Operasi liputan biasa termasuk membersihkan margin dalaman dan luaran, mengubah suai garis bawah pautan, menyesuaikan saiz tajuk dan menyatukan gaya butang. Memahami gaya ejen pengguna boleh membantu meningkatkan konsistensi penyemak imbas dan membolehkan kawalan susun atur yang tepat.

Pertama, gunakan JavaScript untuk mendapatkan pilihan sistem pengguna dan tetapan tema yang disimpan di dalam negara, dan memulakan tema halaman; 1. Struktur HTML mengandungi butang untuk mencetuskan Topik Switching; 2. CSS menggunakan: Root untuk menentukan pembolehubah tema yang cerah, kelas mod-mode mentakrifkan pembolehubah tema gelap, dan menggunakan pembolehubah ini melalui VAR (); 3. JavaScript mengesan lebih suka skema-skema dan membaca LocalStorage untuk menentukan tema awal; 4. Tukar kelas mod gelap pada elemen HTML apabila mengklik butang, dan menjimatkan keadaan semasa ke LocalStorage; 5. Semua perubahan warna disertakan dengan animasi peralihan 0.3 saat untuk meningkatkan pengguna

Theaspect-ratiocsspropertydefinesthewidth-to-heightratioofanelement, memastikan konsistenproportionsinresponedesedesigns.1.InisappliedDirectyToelementsLikeImages, Video, Orcontainersusingsyxsuchaspasect-ratio: 16/9.2.

Gaya pautan harus membezakan negara-negara yang berbeza melalui kelas pseudo. 1. Gunakan A: Pautan Untuk menetapkan gaya pautan yang tidak dicapai, 2. A: Dikunjungi untuk menetapkan pautan yang diakses, 3. Anda boleh meningkatkan kebolehgunaan dan kebolehcapaian dengan menambahkan padding, kursor: penunjuk dan mengekalkan atau menyesuaikan garis besar fokus. Anda juga boleh menggunakan sempadan bawah atau animasi untuk memastikan bahawa pautan mempunyai pengalaman pengguna yang baik dan aksesibiliti di semua negeri.

Unit VW dan VH mencapai reka bentuk responsif dengan mengaitkan saiz elemen dengan lebar dan ketinggian viewport; 1VW adalah sama dengan 1% lebar viewport, dan 1VH adalah sama dengan 1% ketinggian viewport; biasanya digunakan di kawasan skrin penuh, fon responsif dan jarak elastik; 1. Gunakan 100VH atau lebih baik 100DVH di kawasan skrin penuh untuk mengelakkan pengaruh bar alamat pelayar mudah alih; 2. 3. Jarak elastik seperti lebar: 80VW, margin: 5vhauto, padding: 2VH3VW, boleh membuat susun atur yang boleh disesuaikan; Perhatikan keserasian peranti mudah alih, kebolehaksesan dan konflik kandungan lebar tetap, dan disyorkan untuk memberi keutamaan untuk menggunakan DVH terlebih dahulu;

The: emptypseudo-classSelectSelementSwithnoChildrenorcontent, includingspacesorcomments, SoonlyTrulyEmptyElementsLikeMatchit; 1.itcanHideEptyContainersByusing: kosong {paparan: none;} TOCleanUplayouts;

Define@keyframesbouncewith0%,100%attranslateY(0)and50%attranslateY(-20px)tocreateabasicbounce.2.Applytheanimationtoanelementusinganimation:bounce0.6sease-in-outinfiniteforsmooth,continuousmotion.3.Forrealism,use@keyframesrealistic-bouncewithscale(1.1
