1. <table id="seym2"></table>
      \n @inertia\n
      <\/div>\n<\/body>\n<\/html>\n<\/pre>\n\n\n\n

      Akhir sekali, mari jalankan Laravel dan React kedua-duanya menggunakan arahan berikut:
      \n<\/p>\n\n

      withRouting(\n    web: __DIR__.'\/..\/routes\/web.php',\n    commands: __DIR__.'\/..\/routes\/console.php',\n    health: '\/up',\n  )\n  ->withMiddleware(function (Middleware $middleware) {\n    $middleware->web(append: [\n        HandleInertiaRequests::class,\n    ]);\n  })\n  ->withExceptions(function (Exceptions $exceptions) {\n    \/\/\n  })->create();\n<\/pre>\n\n\n\n

      Kita boleh menulis skrip Shell untuk menjalankan arahan ini bersama-sama dalam tetingkap terminal tunggal, tetapi untuk memastikan perkara itu mudah dan mudah, mari jalankan arahan ini dalam dua terminal berasingan buat masa ini. <\/p>\n\n

      Selepas arahan ini berjaya dilaksanakan, anda boleh melihat dua URL tempatan. Jalankan Laravel untuk melihat rupa apl Laravel anda. Dan dengan itu, anda telah berjaya menyediakan apl asas dengan Inertia!<\/p>\n\n

      \n \n \n Ciri utama Inertia.js\n<\/h2>\n\n

      Anda boleh melakukan banyak perkara dengan apl Inersia anda. Mari lihat beberapa ciri menonjol yang perlu anda ketahui.<\/p>\n\n

      \n \n \n Halaman dan susun atur\n<\/h3>\n\n

      Untuk mengatur reka letak dan halaman yang berbeza dengan lebih baik, buat dua subdirektori dalam direktori sumber\/js. Anda juga boleh mengurus komponen anda dalam direktori berasingan di sini dan menggunakannya dalam halaman anda sesuka hati. <\/p>\n\n

      Berikut ialah contoh ringkas reka letak utama kami:
      \n<\/p>\n\n

      import { defineConfig } from \"vite\";\nimport laravel from \"laravel-vite-plugin\";\nimport react from \"@vitejs\/plugin-react\";\n\nexport default defineConfig({\n  plugins: [\n    laravel({\n      input: \"resources\/js\/app.jsx\",\n      refresh: true,\n    }),\n    react(),\n  ],\n  resolve: {\n    alias: {\n      \"@\": \"\/resources\/js\",\n    },\n  },\n});\n<\/pre>\n\n\n\n

      Ini pada asasnya adalah komponen yang berfungsi sebagai susun atur asas dan oleh itu diletakkan dalam folder susun atur khusus. MainLayout kini boleh digunakan sebagai komponen dalam halaman kami seperti yang ditunjukkan dalam kod berikut:
      \n<\/p>\n

      laravel new\n<\/pre>\n\n\n\n

      Berikut ialah gambaran bagaimana MainLayout.jsx dan About.jsx boleh bersama-sama membentuk halaman kerja dengan gaya yang disediakan oleh Tailwind CSS:
      \n\"Inertia.js<\/p>\n

      \n \n \n Pautan dan penghalaan\n<\/h3>\n\n

      Dengan penghalaan Laravel tradisional, mudah untuk mencipta laluan baharu dan menyambung ke halaman yang kami pelajari dalam segmen terakhir. Walaupun ia bukan berasaskan fail, penghalaan agak mudah untuk diuruskan. Jika anda telah bekerja dengan rangka kerja belakang berasaskan JavaScript seperti Express dan Fastify, anda sudah biasa dengan cara penghalaan berfungsi dalam Laravel. <\/p>\n\n

      Navigasi ke fail route\/web.php, tambah laluan baharu dan paparkan halaman berkaitan menggunakan kaedah render Inertia seperti yang ditunjukkan dalam kod di bawah:
      \n<\/p>\n\n

      composer require inertiajs\/inertia-laravel\n<\/pre>\n\n\n\n

      Pautan dinamik dalam Inersia adalah serupa dengan React dan Next, dan boleh dilakukan menggunakan komponen Pautan Inertia seperti yang ditunjukkan di bawah:
      \n<\/p>\n\n

      php artisan inertia:middleware\n<\/pre>\n\n\n\n

      Tangkapan skrin di bawah menunjukkan tingkah laku dinamik seperti SPA bagi navigasi yang baru kami pelajari mencipta dalam blok kod di atas:
      \n\"Inertia.js<\/p>\n

      \n \n \n Permintaan HTTP (permintaan GET\/POST\/non-GET)\n<\/h3>\n\n

      Inersia menyediakan cangkuk useForm untuk berfungsi dengan permintaan GET dan POST untuk mengendalikan keadaan dan penyerahan borang. Ia juga menyediakan cangkuk usePage, yang membolehkan anda mengakses data kongsi yang dihantar daripada pelayan kepada pelanggan, seperti mesej kejayaan atau kegagalan. <\/p>\n\n

      Berikut ialah contoh mudah yang membuat permintaan GET dan POST untuk memuatkan dan menghantar data pengguna. Ambil perhatian bahawa permintaan GET dikendalikan secara tersirat oleh Inertia, sementara kami membuat permintaan POST dengan kaedah siaran daripada cangkuk useForm untuk menghantar data ke pelayan:
      \n<\/p>\n\n

      pnpm add react react-dom\n<\/pre>\n\n\n\n

      Menggunakan pendekatan ini, kita boleh menyusun halaman untuk mendapatkan senarai data daripada pangkalan data, menunjukkannya dalam jadual HTML dan juga menambah lebih banyak data ini pada pangkalan data menggunakan borang seperti yang ditunjukkan di bawah:
      \n\"Inertia.js<\/p>\n

      \n \n \n Penunjuk kemajuan\n<\/h3>\n\n

      Inertia.js menyediakan petunjuk kemajuan berasaskan NProgress. Anda boleh mendayakan ini semasa menubuhkan fail App.jsx dan menyediakan tetapan konfigurasi di sana untuk penunjuk kemajuan:
      \n<\/p>\n\n

      pnpm add --save-dev @vitejs\/plugin-react\n<\/pre>\n\n\n\n

      Jika anda tidak biasa dengan rupa animasi pemuatan NProgress, berikut adalah sedikit pandangan mengenainya:
      \n\"Inertia.js<\/p>\n

      \n \n \n Penyepaduan pangkalan data\n<\/h3>\n\n

      Jika anda bekerja dengan Laravel dengan kerap, anda tidak memerlukan banyak masa untuk menyepadukan dan menggunakan pangkalan data ke dalam persediaan Inersia anda. Cuma tambah bukti kelayakan pangkalan data yang diperlukan dalam fail .env, pastikan anda menggunakan pemacu pangkalan data yang betul, semak fail config\/database.php dan anda boleh pergi. <\/p>\n\n

      Dengan pangkalan data sedia ada, anda boleh menggunakan sistem migrasi Laravel untuk menentukan skema pangkalan data yang diperlukan. Saya tidak mempunyai pangkalan data, jadi saya mencipta satu dan mengisinya dengan beberapa data pengguna palsu menggunakan mekanisme Laravel Seeder untuk dipaparkan pada bahagian hadapan. Berikut adalah beberapa langkah yang saya ikuti selepas itu:<\/p>\n\n

        \n
      • Mencipta model untuk data pengguna saya dalam direktori aplikasi dan juga mencipta pengawal HTTP untuk mengendalikan permintaan pangkalan data mengenai data ini<\/li>\n
      • Mencipta halaman Pengguna dalam direktori sumber\/js\/Halaman dan menyediakannya dengan prop yang mengambil tatasusunan pengguna. Tatasusunan pengguna ini mendapat data yang diperlukan melalui permintaan GET yang dibuat secara intrinsik dengan Inertia. Kami juga boleh membuat permintaan POST untuk menambah data pada pangkalan data<\/li>\n
      • Menentukan laluan pengguna dalam fail route\/web.php dan memautkan pengawal HTTP kami kepadanya<\/li>\n<\/ul>\n\n

        Bagi seseorang yang baharu dalam ekosistem Laravel atau yang tidak kerap menggunakan pangkalan data dengan Laravel, ini mungkin mengambil masa lebih sedikit daripada itu apabila memindahkan dan mengisi pangkalan data. Dalam kes sedemikian, mengosongkan cache konfigurasi mungkin sangat membantu untuk menyingkirkan ralat yang disebabkan oleh pilihan konfigurasi cache.<\/p>\n\n

        \n \n \n Kes penggunaan Inertia.js\n<\/h2>\n\n

        Aplikasi berpotensi untuk Inersia adalah banyak dan pelbagai. Memadankan Laravel dengan bahagian hadapan JavaScript moden menggunakan Inertia memudahkan pembangunan tindanan penuh untuk apl monolitik dengan ciri bahagian belakang yang mantap. <\/p>\n\n

        Walaupun ia tidak sesuai untuk setiap pasukan atau situasi, berikut ialah beberapa kes penggunaan di mana anda mungkin mendapati Inertia sebagai pilihan yang baik:<\/p>\n\n

          \n
        • Apl yang tidak mahu bergantung pada Blade untuk templat dan mahukan penyelesaian yang mantap untuk mengendalikan fungsi bahagian pelanggan<\/li>\n
        • Apl lama yang menggunakan Laravel sebagai bahagian belakangnya tetapi ingin memanfaatkan perpustakaan moden yang kebanyakannya dibuat dan diselenggara untuk rangka kerja bahagian hadapan berasaskan JavaScript<\/li>\n
        • Apl moden yang merancang untuk beralih ke bahagian belakang berasaskan Laravel untuk menikmati leverage yang ditawarkan oleh teknologi pelayan tradisional dan bukannya tanpa pelayan<\/li>\n
        • SPA yang mahukan keterlihatan yang lebih baik pada enjin carian dan juga faedah prestasi SSR<\/li>\n
        • Bagi mereka yang suka dan ingin bekerja dengan kedua-dua PHP dan JavaScript<\/li>\n<\/ul>\n\n

          \n \n \n Inertia.js lwn. Livewire lwn. Hybridly\n<\/h2>\n\n

          Inersia bukan satu-satunya penyelesaian untuk merapatkan rangka kerja dan perpustakaan bahagian pelayan dan pihak pelanggan. Livewire dan Hybridly ialah dua alat popular lain dengan set faedah dan kelemahan mereka sendiri. Apabila membandingkan pilihan anda, anda mungkin ingin mempertimbangkan:<\/p>\n

            \n
          • Komuniti<\/strong>?— Inertia.js mempunyai komuniti yang agak kecil berbanding Livewire tetapi mempunyai komuniti yang lebih baik daripada Hybridly.<\/li>\n
          • Ciri<\/strong> — Livewire dan Hybridly tidak menyediakan sokongan untuk melaksanakan rangka kerja bahagian hadapan, manakala Inertia.js terkenal dengan sokongannya untuk penyelesaian bahagian hadapan berasaskan JavaScript utama.<\/li>\n
          • Prestasi<\/strong> — Kebanyakannya bergantung pada pelaksanaan, tetapi SPA berasaskan Inertia.js boleh memberikan persepsi prestasi yang lebih baik manakala apl yang diberikan pelayan menggunakan Livewire dan Hybridly boleh menjadi lebih baik kerana kebanyakan halaman dipaparkan oleh pelayan .<\/li>\n
          • Dokumentasi<\/strong> — Livewire dan Inertia.js mempunyai dokumentasi yang baik berbanding Hybridly, yang agak baharu dan mempunyai skop untuk dipertingkatkan lagi.<\/li>\n<\/ul>\n\n

            Jadual ini menyediakan gambaran berguna tentang perbandingan ketiga-tiga ini untuk memaklumkan keputusan anda dengan lebih lanjut:<\/p>\n

            \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
            Feature<\/th>\n\nInertia.js<\/th>\n\nLivewire<\/th>\n\nHybridly<\/th>\n\n<\/tr>\n\n<\/thead>\n\n
            Server-side framework<\/td>\n\nLaravel, Rails<\/td>\n\nLaravel only<\/td>\n\nLaravel only<\/td>\n\n<\/tr>\n\n
            Client-side framework<\/td>\n\nVue.js, React, Svelte<\/td>\n\nNone (PHP-based)<\/td>\n\nVue.js<\/td>\n\n<\/tr>\n\n
            SPA-like experience<\/td>\n\nYes<\/td>\n\nYes<\/td>\n\nYes<\/td>\n\n<\/tr>\n\n
            Server-side rendering (SSR)<\/td>\n\nOptional<\/td>\n\nYes<\/td>\n\nYes<\/td>\n\n<\/tr>\n\n
            Real-time updates<\/td>\n\nNo (needs additional setup)<\/td>\n\nYes<\/td>\n\nYes<\/td>\n\n<\/tr>\n\n
            Full-page reloads<\/td>\n\nNo<\/td>\n\nNo<\/td>\n\nNo<\/td>\n\n<\/tr>\n\n
            Learning curve<\/td>\n\nModerate<\/td>\n\nLow<\/td>\n\nModerate<\/td>\n\n<\/tr>\n\n
            Component-based architecture<\/td>\n\nYes<\/td>\n\nYes<\/td>\n\nYes<\/td>\n\n<\/tr>\n\n
            State management<\/td>\n\nClient-side<\/td>\n\nServer-side<\/td>\n\nBoth<\/td>\n\n<\/tr>\n\n
            SEO-friendly<\/td>\n\nGood<\/td>\n\nExcellent<\/td>\n\nExcellent<\/td>\n\n<\/tr>\n\n
            Backend-driven UI<\/td>\n\nPartial<\/td>\n\nFull<\/td>\n\nFull<\/td>\n\n<\/tr>\n\n
            Progressive enhancement<\/td>\n\nLimited<\/td>\n\nYes<\/td>\n\nYes<\/td>\n\n<\/tr>\n\n
            File uploads<\/td>\n\nSupported<\/td>\n\nNative support<\/td>\n\nSupported<\/td>\n\n<\/tr>\n\n
            Pagination<\/td>\n\nSupported<\/td>\n\nNative support<\/td>\n\nSupported<\/td>\n\n<\/tr>\n\n
            Form handling<\/td>\n\nClient-side<\/td>\n\nServer-side<\/td>\n\nBoth<\/td>\n\n<\/tr>\n\n
            Authentication<\/td>\n\nSupported<\/td>\n\nNative support<\/td>\n\nSupported<\/td>\n\n<\/tr>\n\n
            Authorization<\/td>\n\nSupported<\/td>\n\nNative support<\/td>\n\nSupported<\/td>\n\n<\/tr>\n\n
            Testing<\/td>\n\nBoth client & server<\/td>\n\nServer<\/td>\n\nBoth client and server<\/td>\n\n<\/tr>\n\n
            Ecosystem\/Community<\/td>\n\nSmall<\/td>\n\nLarge<\/td>\n\nSmall (newer)<\/td>\n\n<\/tr>\n\n
            Performance<\/td>\n\nVery good<\/td>\n\nGood<\/td>\n\nVery good<\/td>\n\n<\/tr>\n\n
            Bundle size<\/td>\n\nLarger (due to JS framework)<\/td>\n\nSmaller<\/td>\n\nModerate<\/td>\n\n<\/tr>\n\n
            Offline support<\/td>\n\nPossible<\/td>\n\nLimited<\/td>\n\nPossible<\/td>\n\n<\/tr>\n\n
            Mobile app development<\/td>\n\nPossible<\/td>\n\nNot ideal<\/td>\n\nPossible<\/td>\n\n<\/tr>\n\n<\/tbody>\n\n<\/table><\/div>\n\n

            \n \n \n Kesimpulan\n<\/h2>\n\n

            Dalam panduan penggunaan ini, kami mempelajari apa itu Inertia.js dan cara ia digunakan untuk mencipta aplikasi hibrid menggunakan rangka kerja hujung belakang tradisional seperti Laravel dan perpustakaan bahagian hadapan moden seperti React. <\/p>\n\n

            Kami belajar tentang kebaikan dan keburukan menggunakan Inertia, beberapa aplikasi praktikalnya dan contoh untuk menyediakannya dengan Laravel. Jika anda terperangkap semasa mengikuti panduan, pertimbangkan untuk mengkloning repositori GitHub ini untuk projek yang kami bincangkan, atau berikan ulasan dan saya berbesar hati untuk membantu anda.<\/p>\n\n\n


            \n\n

            \n \n \n Adakah anda menambah perpustakaan JS baharu untuk membina ciri baharu atau meningkatkan prestasi? Bagaimana jika mereka melakukan sebaliknya?\n<\/h2>\n\n

            Tidak syak lagi bahawa bahagian hadapan semakin kompleks. Semasa anda menambahkan perpustakaan JavaScript baharu dan kebergantungan lain pada apl anda, anda memerlukan lebih keterlihatan untuk memastikan pengguna anda tidak menghadapi isu yang tidak diketahui.<\/p>\n\n

            LogRocket ialah penyelesaian pemantauan aplikasi bahagian hadapan yang membolehkan anda memainkan semula ralat JavaScript seolah-olah ia berlaku dalam penyemak imbas anda sendiri supaya anda boleh bertindak balas terhadap pepijat dengan lebih berkesan.<\/p>\n\n

            \"Inertia.js<\/p>\n\n

            LogRocket berfungsi dengan sempurna dengan mana-mana apl, tanpa mengira rangka kerja dan mempunyai pemalam untuk log konteks tambahan daripada Redux, Vuex dan @ngrx\/store. Daripada meneka mengapa masalah berlaku, anda boleh mengagregat dan melaporkan tentang keadaan permohonan anda semasa isu berlaku. LogRocket juga memantau prestasi apl anda, melaporkan metrik seperti beban CPU pelanggan, penggunaan memori pelanggan dan banyak lagi.<\/p>\n\n

            Bina dengan yakin — mulakan pemantauan secara percuma.<\/p>\n\n\n \n\n \n "}

            亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

            Rumah hujung hadapan web tutorial js Panduan penggunaan Inertia.js: Gambaran keseluruhan, contoh dan alternatif

            Panduan penggunaan Inertia.js: Gambaran keseluruhan, contoh dan alternatif

            Oct 24, 2024 am 05:34 AM

            Ditulis oleh Rahul Chhodde??

            Rangka kerja bahagian hadapan moden berpasangan dengan baik dengan rangka kerja tindanan penuh khusus mereka — seperti React with Next.js, Vue dengan Nuxt.js dan Svelte dengan SvelteKit. Tetapi kemudahan penggunaan yang sama dan sokongan luar biasa nampaknya mustahil apabila memasangkan penyelesaian bahagian hadapan moden seperti React dengan rangka kerja bahagian belakang tradisional atau bahagian pelayan seperti Laravel.

            Jurang kebolehsuaian antara penyelesaian bahagian hadapan JavaScript dan rangka kerja hujung belakang tradisional ini diisi oleh Inertia.js. Dalam panduan penggunaan ini, kita akan mempelajari cara menggunakan Inertia untuk membina apl satu halaman (SPA) dengan rangka kerja hujung belakang tradisional dan bahagian hadapan JavaScript moden sambil mengekalkan penghalaan sebelah pelayan.

            Apakah Inertia.js?

            Inertia.js ialah alat yang membolehkan pembangun membina SPA moden dengan rangka kerja bahagian hadapan dan belakang yang popular tanpa memerlukan API di antaranya. Dicipta pada 2019 oleh Jonathan Reinink, idea utama di sebalik Inertia adalah untuk memudahkan proses membina SPA moden sambil memanfaatkan rangka kerja sisi pelayan sedia ada.

            Dalam perkataan yang lebih mudah, Inertia berfungsi sebagai gam yang menyatukan rangka kerja bahagian pelayan dan bahagian pelanggan anda, memastikan komunikasi yang cekap antara bahagian belakang dan bahagian hadapan. Dengan Inersia, daripada mengekalkan dua pangkalan kod berbeza untuk bahagian hadapan dan bahagian belakang atau bahagian pelayan, anda membangunkan keseluruhan apl dalam satu pangkalan kod seperti monolit.

            Bagaimanakah Inertia.js berubah dari semasa ke semasa?

            Pada mulanya, Inertia hanya menyokong Vue dan Laravel. Dengan keluarannya yang kemudian, ia berkembang dan melanjutkan sokongannya untuk lebih banyak rangka kerja.

            Monolit Inersia moden menyediakan ciri penting seperti pemaparan sisi pelayan (SSR), versi aset automatik, pemuatan malas untuk komponen halaman, sokongan TypeScript dan banyak lagi. Kami akan meneroka sokongan rangka kerjanya kemudian sambil membincangkan penyepaduan rangka kerja.

            Cara Inertia.js berfungsi

            Inersia berfungsi seperti penyesuai antara bahagian hadapan dan hujung belakang. Ia berbeza daripada SPA biasa dalam aspek berikut:

            • Mengekalkan penghalaan sebelah pelayan sambil memberikan pengalaman seperti SPA
            • Menggantikan muat semula halaman penuh dengan permintaan pengambilan kecil
            • Menerima data JSON sebagai balasan daripada pelayan
            • Memerlukan lebih sedikit JavaScript untuk penghidratan

            Apabila permintaan dibuat daripada penyemak imbas menggunakan apl berkuasa Inertia, permintaan itu sampai ke hujung belakang dahulu. Akibatnya, respons Inertia dibuat, mengembalikan dokumen HTML penuh terlebih dahulu dengan perpustakaan JavaScript Inertia kepada penyemak imbas melalui klien Inertia.

            Untuk navigasi seterusnya, klien Inertia membuat permintaan pengambilan dan menerima data JSON sebagai balasan daripada pelayan. Menggunakan data yang diterima ini, pelanggan kemudian mengemas kini bahagian hadapan dan perubahan ditunjukkan pada apl tanpa muat semula halaman penuh.

            Berikut ialah carta alir yang menerangkan keseluruhan proses itu dalam cara visual:
            Inertia.js adoption guide: Overview, examples, and alternatives

            Bacaan lanjut:

            • Pengenalan kepada Inertia.js

            Mengapa memilih Inertia.js?

            Jika anda berada dalam situasi di mana anda mesti menggunakan rangka kerja hujung belakang tradisional untuk SPA anda, tetapi mempunyai kebebasan untuk mengendalikan bahagian hadapan mengikut kemahuan anda, anda harus mempertimbangkan untuk menggunakan Inertia atau alat yang serupa.

            Inertia dibuat khusus untuk Laravel dan memberikan kestabilan yang lebih besar dalam projek Laravel. Jika anda seorang pembangun Laravel dan ingin melakukan lebih daripada apa yang ditawarkan oleh templat Blade secara lalai, Inertia ialah sesuatu yang anda mungkin mahu cuba.

            Anda boleh meneroka beberapa lagi kes penggunaan di mana Inertia boleh menjadi rakan anda. Dua bahagian seterusnya merangkumi beberapa kebaikan dan keburukan menggunakan Inertia, yang akan membantu anda membuat keputusan termaklum tentang memilihnya untuk pembangunan apl anda.

            Keburukan Inertia.js

            Terdapat beberapa kelemahan SPA yang diketahui secara umum yang tidak akan kami bincangkan di sini. Sebaliknya, kami akan menyentuh tentang kelemahan Inersia sebagai utiliti pembangunan.

            Kurang fleksibel

            Dengan Inersia, anda mengekalkan bahagian hadapan dan hujung belakang apl anda dalam satu pangkalan kod. Gandingan yang ketat ini menjadikan Inertia tidak sesuai untuk projek yang menuntut pengekalan bahagian hadapan dan belakang secara berasingan untuk kebolehselenggaraan yang lebih baik, pengasingan kebimbangan, kebolehskalaan, pembangunan bebas, fleksibiliti tindanan teknologi dan sebab-sebab lain.

            Pengalaman pembangun

            Menggunakan alat seperti Inertia menambah satu lagi utiliti pada timbunan anda untuk meneroka dan belajar. Memahami corak dan konvensyen khusus Inersia mempunyai keluk pembelajaran yang sederhana, yang boleh menjadi sedikit menjengkelkan dan memakan masa.

            Memandangkan menyesuaikan diri dengan alatan seperti Inertia untuk bahagian hadapan dan bahagian belakang belum lagi menjadi arus perdana, tiada cara standard untuk melakukan sesuatu dengannya. Oleh itu, beralih daripada Inersia akan memerlukan pemfaktoran semula yang ketara, terutamanya pada bahagian hadapan.

            Selain itu, kerumitan ujian, terutamanya untuk ujian API dan unit, pasti akan meningkat kerana sempadan antara bahagian hadapan dan bahagian belakang bertepatan dalam monolit.

            Komuniti kecil

            Inertia mempunyai lebih 6,000 bintang di GitHub dan lebih 85 penyumbang. Penyesuai Laravelnya mempunyai lebih 2,000 bintang. Semua statistik ini digabungkan jauh lebih rendah daripada alatan dalam kategori yang sama yang tidak menawarkan banyak ciri dan sokongan rangka kerja seperti Inertia.

            Jadi mungkin terdapat keadaan apabila anda ingin membina sesuatu yang khusus dengannya dan tidak dapat mencari rujukan serta panduan yang mencukupi untuk diikuti.

            Lihat jadual di bawah untuk perbandingan langsung antara Inertia.js dan beberapa pesaingnya seperti Livewire.

            Bacaan lanjut:

            • Livewire lwn. Inertia.js: Membandingkan bahagian hadapan Laravel

            Pertimbangan teknikal

            Membuat apl anda di luar talian dahulu boleh menjadi rumit dengan Inersia, kerana mewujudkan strategi caching yang wajar tidak mudah dengan alat ini. Anda juga harus ingat bahawa Inertia, secara lalai, menghantar komponen halaman penuh pada setiap permintaan, meningkatkan saiz muatan, yang boleh diselesaikan dengan muat semula separa.

            Kelebihan Inertia.js

            Inersia mempunyai beberapa kelebihan umum berbanding SPA tradisional yang diberikan oleh pihak pelanggan. Mari kita bincangkan beberapa kekuatan utamanya satu demi satu.

            Penyepaduan yang lancar

            Inertia disepadukan dengan sempurna dengan rangka kerja bahagian hadapan dan belakang yang popular, serta menyediakan sokongan tangan pertama untuk Vue dalam binaan demonya. Rangka kerja dan perpustakaan yang disokong, kedua-dua bahagian hadapan dan bahagian belakang digabungkan, termasuk Laravel, Rails, Phoenix, Django, React, Vue dan Svelte.

            Laravel membolehkan anda membina aset anda dengan Vite, memberikan anda pengalaman pembangunan yang lebih pantas dan lebih produktif daripada Laravel Mix berasaskan Webpack. Himpunan aset berasaskan Vite sesuai dengan bil dengan sempurna jika matlamat anda adalah untuk melaksanakan bahagian hadapan berasaskan JavaScript.

            Bacaan lanjut:

            • Bermula dengan Inertia.js, Vue.js dan AdonisJs
            • Mencipta apl satu halaman dengan Laravel dan Vue

            Pembangunan yang dipermudahkan

            Walaupun pengalaman pembangun yang sedikit lemah seperti yang diterangkan di atas, Inertia menawarkan penyepaduan yang dipermudahkan, menghapuskan keperluan untuk API yang berasingan agar bahagian hadapan dan bahagian belakang berfungsi bersama. Inersia membolehkan anda menggunakan kit pemula dan menyediakan panduan pemasangan manual untuk menyediakan kedua-dua sisi klien dan persekitaran sisi pelayan untuk pembangunan.

            Prestasi

            Daripada menghantar HTML yang diberikan pelayan sepenuhnya dengan himpunan JavaScript yang besar kepada pelanggan, apl Inertia menerima cangkerang HTML minimum dengan data JSON awal yang menghasilkan secara perbandingan lebih pantas pada klien.

            Ini menjadikan apl berasaskan Inertia lebih baik sedikit dalam prestasi awal tanpa kerumitan tambahan daripada SPA yang diberikan oleh pihak pelanggan biasa. Ia juga menambah UX kualiti yang lebih baik secara keseluruhan dan menambah baik Cat Kandungan Pertama, metrik Teras Web Vital yang penting.

            Bacaan lanjut:

            • Amalan terbaik Core Web Vitals untuk SPA

            mesra SEO

            Apl berasaskan inersia menggunakan penghalaan sisi pelayan, yang menghasilkan URL yang lebih kemas dan mudah dirangkak. Ini menjadikan pengendalian metadata untuk setiap halaman cukup mudah. Selain itu, seperti yang dibincangkan dalam perkara terakhir, apl ini berkemungkinan mempunyai skor FCP yang lebih baik disebabkan oleh jumlah kecil data awal yang dihantar kepada pelanggan.

            Kedua-dua ciri ini digabungkan menghasilkan SEO yang lebih baik dan memberikan apl Inertia.js kelebihan berbanding SPA tradisional.

            Petua: Jika pemaparan sisi klien (CSR) memberi kesan negatif terhadap metrik FCP, anda boleh memilih apl yang diberikan pelayan sepenuhnya dengan pemalam SSR Inertia.js untuk meningkatkan skor.

            Saiz bundle

            Memandangkan Inertia.js bertindak sebagai penyesuai antara bahagian hadapan dan bahagian belakang, ia sangat padat (seperti yang sepatutnya), dengan berat hanya kira-kira 15kB dikecilkan dan dizipkan.

            Dokumentasi

            Dokumentasi inersia membolehkan anda bermula dengan segera, terutamanya apabila menggunakan Laravel sebagai rangka kerja bahagian belakang anda. Ia juga mempunyai panduan naik taraf untuk versi dan sampul lama daripada konsep umum kepada lanjutan semuanya di satu tempat.

            Bermula dengan Inertia.js

            Mari kita pelajari cara menyediakan Inertia dengan dua penyelesaian bahagian hadapan dan bahagian belakang yang paling popular: hujung belakang berasaskan Laravel dengan bahagian hadapan berkuasa React. Anda mungkin mendapati semua kod yang diliputi dalam tutorial ini dalam repositori GitHub ini.

            Perhatikan bahawa persediaan ini tidak melibatkan penggunaan TypeScript demi kesederhanaan.

            Pemasangan sisi pelayan

            Dengan mengandaikan anda telah memasang Laravel pada mesin anda, mari buat projek Laravel baharu dengan menggunakan arahan pemasang Laravel:

            laravel new
            

            Anda sepatutnya melihat sesuatu seperti di bawah dalam terminal pembangun anda:
            Inertia.js adoption guide: Overview, examples, and alternatives
            Selepas melaksanakan arahan itu dalam terminal dan memberikan nama untuk projek anda, pemasang akan meminta anda memilih kit permulaan dan rangka kerja ujian, memulakan repo Git dan melalui logistik persediaan lain.

            Kit permulaan seperti Breeze atau Jetstream menyediakan beberapa perancah berasaskan Inertia.js siap pakai dengan apl tunjuk cara, tetapi kami tidak mahu perkara itu. Kami akan menetapkan perkara dari awal.

            Bacaan lanjut:

            • Timbunan Inertia-React Laravel Breeze lwn. Next.js dan Gatsby
            • Laravel lwn AdonisJs: Mana yang patut anda gunakan?

            Menjelang akhir langkah pemasangan, anda akan digesa untuk memilih pangkalan data. Saya telah memilih pgsql kerana saya menggunakan PostgreSQL untuk menerangkan artikel ini. Pilih milik anda mengikut keutamaan pangkalan data anda.

            Seterusnya, kita harus memasang integrasi Inertia.js untuk Laravel dengan menjalankan arahan komposer berikut dalam terminal:

            composer require inertiajs/inertia-laravel
            

            Arahan di atas akan memasang penyesuai Laravel untuk Inertia dan kebergantungannya. Ia juga akan menetapkan asas untuk Laravel dan Inertia untuk bekerjasama.

            Selepas itu, mari tambahkan perisian tengah Inertia untuk mengendalikan permintaan Inersia dalam Laravel. Gunakan perintah artisan berikut untuk melakukannya:

            laravel new
            

            Pemasangan sisi pelanggan

            Daripada templat Blade lalai Laravel, kami akan menggunakan React untuk mengendalikan halaman dan komponen kami. Mari cd ke dalam folder projek kami dan pasang React and React DOM menggunakan arahan berikut. Gunakan pengurus pakej Node pilihan anda untuk melakukannya:

            composer require inertiajs/inertia-laravel
            

            Mari pasang pemalam Vite's React sebagai pergantungan pembangunan, kerana kami akan menggunakan Vite sebagai pengurus aset kami sepanjang projek:

            php artisan inertia:middleware
            

            Akhir sekali, tambahkan sokongan Inersia untuk React menggunakan arahan di bawah:

            pnpm add react react-dom
            

            Saya juga menggunakan CSS Tailwind dengan persediaan ini, yang sepenuhnya pilihan. Jika anda juga ingin memasang Tailwind CSS, ia melibatkan langkah yang sama yang anda ikuti semasa memasang Tailwind CSS dengan apl React atau Vue.

            Konfigurasi

            Pertama sekali, cari fail app.js dalam direktori resources/js, namakan semula kepada app.jsx dan gantikan kandungannya dengan yang berikut:

            pnpm add --save-dev @vitejs/plugin-react
            

            Perubahan di atas akan membantu Inertia mengenal pasti halaman kami dan memautkannya ke laluan yang betul.

            Seterusnya, mari namakan semula fail welcome.blade.php dalam direktori resources/view kepada app.blade.php dan gantikan kandungannya dengan yang berikut:

            pnpm add @inertiajs/react
            

            Perhatikan bahawa dalam struktur HTML asas untuk halaman web, fail ini mengandungi beberapa arahan Inertia dan Vite yang diperlukan untuk menyuntik skrip tertentu untuk menjalankan muat semula, menambah skrip dan banyak lagi.

            Seterusnya, tambahkan middleware yang diperlukan dalam fail bootstrap/app.php untuk mengendalikan permintaan khusus Inersia:

            import { createInertiaApp } from "@inertiajs/react";
            import { createRoot } from "react-dom/client";
            import "../css/app.css";
            
            createInertiaApp({
              resolve: (name) => {
                const pages = import.meta.glob("./Pages/**/*.jsx", { eager: true });
                return pages[`./Pages/${name}.jsx`];
              },
              setup({ el, App, props }) {
                createRoot(el).render(<App {...props} />);
              },
            });
            

            Mari kita konfigurasikan pemalam React untuk berfungsi dengan Vite untuk menikmati faedah yang diberikannya:

            <!DOCTYPE html>
            <html lang="en">
            <head>
              <meta charset="UTF-8">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              @viteReactRefresh
              @vite('resources/js/app.jsx')
              @inertiaHead
            </head>
            <body>
              @inertia
              <div id="app"></div>
            </body>
            </html>
            

            Akhir sekali, mari jalankan Laravel dan React kedua-duanya menggunakan arahan berikut:

            <?php
            use Illuminate\Foundation\Application;
            use Illuminate\Foundation\Configuration\Exceptions;
            use Illuminate\Foundation\Configuration\Middleware;
            use App\Http\Middleware\HandleInertiaRequests;
            
            return Application::configure(basePath: dirname(__DIR__))
              ->withRouting(
                web: __DIR__.'/../routes/web.php',
                commands: __DIR__.'/../routes/console.php',
                health: '/up',
              )
              ->withMiddleware(function (Middleware $middleware) {
                $middleware->web(append: [
                    HandleInertiaRequests::class,
                ]);
              })
              ->withExceptions(function (Exceptions $exceptions) {
                //
              })->create();
            

            Kita boleh menulis skrip Shell untuk menjalankan arahan ini bersama-sama dalam tetingkap terminal tunggal, tetapi untuk memastikan perkara itu mudah dan mudah, mari jalankan arahan ini dalam dua terminal berasingan buat masa ini.

            Selepas arahan ini berjaya dilaksanakan, anda boleh melihat dua URL tempatan. Jalankan Laravel untuk melihat rupa apl Laravel anda. Dan dengan itu, anda telah berjaya menyediakan apl asas dengan Inertia!

            Ciri utama Inertia.js

            Anda boleh melakukan banyak perkara dengan apl Inersia anda. Mari lihat beberapa ciri menonjol yang perlu anda ketahui.

            Halaman dan susun atur

            Untuk mengatur reka letak dan halaman yang berbeza dengan lebih baik, buat dua subdirektori dalam direktori sumber/js. Anda juga boleh mengurus komponen anda dalam direktori berasingan di sini dan menggunakannya dalam halaman anda sesuka hati.

            Berikut ialah contoh ringkas reka letak utama kami:

            import { defineConfig } from "vite";
            import laravel from "laravel-vite-plugin";
            import react from "@vitejs/plugin-react";
            
            export default defineConfig({
              plugins: [
                laravel({
                  input: "resources/js/app.jsx",
                  refresh: true,
                }),
                react(),
              ],
              resolve: {
                alias: {
                  "@": "/resources/js",
                },
              },
            });
            

            Ini pada asasnya adalah komponen yang berfungsi sebagai susun atur asas dan oleh itu diletakkan dalam folder susun atur khusus. MainLayout kini boleh digunakan sebagai komponen dalam halaman kami seperti yang ditunjukkan dalam kod berikut:

            laravel new
            

            Berikut ialah gambaran bagaimana MainLayout.jsx dan About.jsx boleh bersama-sama membentuk halaman kerja dengan gaya yang disediakan oleh Tailwind CSS:
            Inertia.js adoption guide: Overview, examples, and alternatives

            Pautan dan penghalaan

            Dengan penghalaan Laravel tradisional, mudah untuk mencipta laluan baharu dan menyambung ke halaman yang kami pelajari dalam segmen terakhir. Walaupun ia bukan berasaskan fail, penghalaan agak mudah untuk diuruskan. Jika anda telah bekerja dengan rangka kerja belakang berasaskan JavaScript seperti Express dan Fastify, anda sudah biasa dengan cara penghalaan berfungsi dalam Laravel.

            Navigasi ke fail route/web.php, tambah laluan baharu dan paparkan halaman berkaitan menggunakan kaedah render Inertia seperti yang ditunjukkan dalam kod di bawah:

            composer require inertiajs/inertia-laravel
            

            Pautan dinamik dalam Inersia adalah serupa dengan React dan Next, dan boleh dilakukan menggunakan komponen Pautan Inertia seperti yang ditunjukkan di bawah:

            php artisan inertia:middleware
            

            Tangkapan skrin di bawah menunjukkan tingkah laku dinamik seperti SPA bagi navigasi yang baru kami pelajari mencipta dalam blok kod di atas:
            Inertia.js adoption guide: Overview, examples, and alternatives

            Permintaan HTTP (permintaan GET/POST/non-GET)

            Inersia menyediakan cangkuk useForm untuk berfungsi dengan permintaan GET dan POST untuk mengendalikan keadaan dan penyerahan borang. Ia juga menyediakan cangkuk usePage, yang membolehkan anda mengakses data kongsi yang dihantar daripada pelayan kepada pelanggan, seperti mesej kejayaan atau kegagalan.

            Berikut ialah contoh mudah yang membuat permintaan GET dan POST untuk memuatkan dan menghantar data pengguna. Ambil perhatian bahawa permintaan GET dikendalikan secara tersirat oleh Inertia, sementara kami membuat permintaan POST dengan kaedah siaran daripada cangkuk useForm untuk menghantar data ke pelayan:

            pnpm add react react-dom
            

            Menggunakan pendekatan ini, kita boleh menyusun halaman untuk mendapatkan senarai data daripada pangkalan data, menunjukkannya dalam jadual HTML dan juga menambah lebih banyak data ini pada pangkalan data menggunakan borang seperti yang ditunjukkan di bawah:
            Inertia.js adoption guide: Overview, examples, and alternatives

            Penunjuk kemajuan

            Inertia.js menyediakan petunjuk kemajuan berasaskan NProgress. Anda boleh mendayakan ini semasa menubuhkan fail App.jsx dan menyediakan tetapan konfigurasi di sana untuk penunjuk kemajuan:

            pnpm add --save-dev @vitejs/plugin-react
            

            Jika anda tidak biasa dengan rupa animasi pemuatan NProgress, berikut adalah sedikit pandangan mengenainya:
            Inertia.js adoption guide: Overview, examples, and alternatives

            Penyepaduan pangkalan data

            Jika anda bekerja dengan Laravel dengan kerap, anda tidak memerlukan banyak masa untuk menyepadukan dan menggunakan pangkalan data ke dalam persediaan Inersia anda. Cuma tambah bukti kelayakan pangkalan data yang diperlukan dalam fail .env, pastikan anda menggunakan pemacu pangkalan data yang betul, semak fail config/database.php dan anda boleh pergi.

            Dengan pangkalan data sedia ada, anda boleh menggunakan sistem migrasi Laravel untuk menentukan skema pangkalan data yang diperlukan. Saya tidak mempunyai pangkalan data, jadi saya mencipta satu dan mengisinya dengan beberapa data pengguna palsu menggunakan mekanisme Laravel Seeder untuk dipaparkan pada bahagian hadapan. Berikut adalah beberapa langkah yang saya ikuti selepas itu:

            • Mencipta model untuk data pengguna saya dalam direktori aplikasi dan juga mencipta pengawal HTTP untuk mengendalikan permintaan pangkalan data mengenai data ini
            • Mencipta halaman Pengguna dalam direktori sumber/js/Halaman dan menyediakannya dengan prop yang mengambil tatasusunan pengguna. Tatasusunan pengguna ini mendapat data yang diperlukan melalui permintaan GET yang dibuat secara intrinsik dengan Inertia. Kami juga boleh membuat permintaan POST untuk menambah data pada pangkalan data
            • Menentukan laluan pengguna dalam fail route/web.php dan memautkan pengawal HTTP kami kepadanya

            Bagi seseorang yang baharu dalam ekosistem Laravel atau yang tidak kerap menggunakan pangkalan data dengan Laravel, ini mungkin mengambil masa lebih sedikit daripada itu apabila memindahkan dan mengisi pangkalan data. Dalam kes sedemikian, mengosongkan cache konfigurasi mungkin sangat membantu untuk menyingkirkan ralat yang disebabkan oleh pilihan konfigurasi cache.

            Kes penggunaan Inertia.js

            Aplikasi berpotensi untuk Inersia adalah banyak dan pelbagai. Memadankan Laravel dengan bahagian hadapan JavaScript moden menggunakan Inertia memudahkan pembangunan tindanan penuh untuk apl monolitik dengan ciri bahagian belakang yang mantap.

            Walaupun ia tidak sesuai untuk setiap pasukan atau situasi, berikut ialah beberapa kes penggunaan di mana anda mungkin mendapati Inertia sebagai pilihan yang baik:

            • Apl yang tidak mahu bergantung pada Blade untuk templat dan mahukan penyelesaian yang mantap untuk mengendalikan fungsi bahagian pelanggan
            • Apl lama yang menggunakan Laravel sebagai bahagian belakangnya tetapi ingin memanfaatkan perpustakaan moden yang kebanyakannya dibuat dan diselenggara untuk rangka kerja bahagian hadapan berasaskan JavaScript
            • Apl moden yang merancang untuk beralih ke bahagian belakang berasaskan Laravel untuk menikmati leverage yang ditawarkan oleh teknologi pelayan tradisional dan bukannya tanpa pelayan
            • SPA yang mahukan keterlihatan yang lebih baik pada enjin carian dan juga faedah prestasi SSR
            • Bagi mereka yang suka dan ingin bekerja dengan kedua-dua PHP dan JavaScript

            Inertia.js lwn. Livewire lwn. Hybridly

            Inersia bukan satu-satunya penyelesaian untuk merapatkan rangka kerja dan perpustakaan bahagian pelayan dan pihak pelanggan. Livewire dan Hybridly ialah dua alat popular lain dengan set faedah dan kelemahan mereka sendiri. Apabila membandingkan pilihan anda, anda mungkin ingin mempertimbangkan:

            • Komuniti?— Inertia.js mempunyai komuniti yang agak kecil berbanding Livewire tetapi mempunyai komuniti yang lebih baik daripada Hybridly.
            • Ciri — Livewire dan Hybridly tidak menyediakan sokongan untuk melaksanakan rangka kerja bahagian hadapan, manakala Inertia.js terkenal dengan sokongannya untuk penyelesaian bahagian hadapan berasaskan JavaScript utama.
            • Prestasi — Kebanyakannya bergantung pada pelaksanaan, tetapi SPA berasaskan Inertia.js boleh memberikan persepsi prestasi yang lebih baik manakala apl yang diberikan pelayan menggunakan Livewire dan Hybridly boleh menjadi lebih baik kerana kebanyakan halaman dipaparkan oleh pelayan .
            • Dokumentasi — Livewire dan Inertia.js mempunyai dokumentasi yang baik berbanding Hybridly, yang agak baharu dan mempunyai skop untuk dipertingkatkan lagi.

            Jadual ini menyediakan gambaran berguna tentang perbandingan ketiga-tiga ini untuk memaklumkan keputusan anda dengan lebih lanjut:

            Feature Inertia.js Livewire Hybridly
            Server-side framework Laravel, Rails Laravel only Laravel only
            Client-side framework Vue.js, React, Svelte None (PHP-based) Vue.js
            SPA-like experience Yes Yes Yes
            Server-side rendering (SSR) Optional Yes Yes
            Real-time updates No (needs additional setup) Yes Yes
            Full-page reloads No No No
            Learning curve Moderate Low Moderate
            Component-based architecture Yes Yes Yes
            State management Client-side Server-side Both
            SEO-friendly Good Excellent Excellent
            Backend-driven UI Partial Full Full
            Progressive enhancement Limited Yes Yes
            File uploads Supported Native support Supported
            Pagination Supported Native support Supported
            Form handling Client-side Server-side Both
            Authentication Supported Native support Supported
            Authorization Supported Native support Supported
            Testing Both client & server Server Both client and server
            Ecosystem/Community Small Large Small (newer)
            Performance Very good Good Very good
            Bundle size Larger (due to JS framework) Smaller Moderate
            Offline support Possible Limited Possible
            Mobile app development Possible Not ideal Possible

            Kesimpulan

            Dalam panduan penggunaan ini, kami mempelajari apa itu Inertia.js dan cara ia digunakan untuk mencipta aplikasi hibrid menggunakan rangka kerja hujung belakang tradisional seperti Laravel dan perpustakaan bahagian hadapan moden seperti React.

            Kami belajar tentang kebaikan dan keburukan menggunakan Inertia, beberapa aplikasi praktikalnya dan contoh untuk menyediakannya dengan Laravel. Jika anda terperangkap semasa mengikuti panduan, pertimbangkan untuk mengkloning repositori GitHub ini untuk projek yang kami bincangkan, atau berikan ulasan dan saya berbesar hati untuk membantu anda.


            Adakah anda menambah perpustakaan JS baharu untuk membina ciri baharu atau meningkatkan prestasi? Bagaimana jika mereka melakukan sebaliknya?

            Tidak syak lagi bahawa bahagian hadapan semakin kompleks. Semasa anda menambahkan perpustakaan JavaScript baharu dan kebergantungan lain pada apl anda, anda memerlukan lebih keterlihatan untuk memastikan pengguna anda tidak menghadapi isu yang tidak diketahui.

            LogRocket ialah penyelesaian pemantauan aplikasi bahagian hadapan yang membolehkan anda memainkan semula ralat JavaScript seolah-olah ia berlaku dalam penyemak imbas anda sendiri supaya anda boleh bertindak balas terhadap pepijat dengan lebih berkesan.

            Inertia.js adoption guide: Overview, examples, and alternatives

            LogRocket berfungsi dengan sempurna dengan mana-mana apl, tanpa mengira rangka kerja dan mempunyai pemalam untuk log konteks tambahan daripada Redux, Vuex dan @ngrx/store. Daripada meneka mengapa masalah berlaku, anda boleh mengagregat dan melaporkan tentang keadaan permohonan anda semasa isu berlaku. LogRocket juga memantau prestasi apl anda, melaporkan metrik seperti beban CPU pelanggan, penggunaan memori pelanggan dan banyak lagi.

            Bina dengan yakin — mulakan pemantauan secara percuma.

            Atas ialah kandungan terperinci Panduan penggunaan Inertia.js: Gambaran keseluruhan, contoh dan alternatif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

            Kenyataan Laman Web ini
            Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

            Alat AI Hot

            Undress AI Tool

            Undress AI Tool

            Gambar buka pakaian secara percuma

            Undresser.AI Undress

            Undresser.AI Undress

            Apl berkuasa AI untuk mencipta foto bogel yang realistik

            AI Clothes Remover

            AI Clothes Remover

            Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

            Clothoff.io

            Clothoff.io

            Penyingkiran pakaian AI

            Video Face Swap

            Video Face Swap

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

            Alat panas

            Notepad++7.3.1

            Notepad++7.3.1

            Editor kod yang mudah digunakan dan percuma

            SublimeText3 versi Cina

            SublimeText3 versi Cina

            Versi Cina, sangat mudah digunakan

            Hantar Studio 13.0.1

            Hantar Studio 13.0.1

            Persekitaran pembangunan bersepadu PHP yang berkuasa

            Dreamweaver CS6

            Dreamweaver CS6

            Alat pembangunan web visual

            SublimeText3 versi Mac

            SublimeText3 versi Mac

            Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

            Topik panas

            Tutorial PHP
            1488
            72
            Bagaimana membuat permintaan HTTP di node.js? Bagaimana membuat permintaan HTTP di node.js? Jul 13, 2025 am 02:18 AM

            Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

            Jenis Data JavaScript: Rujukan primitif vs Jenis Data JavaScript: Rujukan primitif vs Jul 13, 2025 am 02:43 AM

            Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

            React vs angular vs vue: Rangka kerja JS mana yang terbaik? React vs angular vs vue: Rangka kerja JS mana yang terbaik? Jul 05, 2025 am 02:24 AM

            Rangka kerja JavaScript mana yang terbaik? Jawapannya ialah memilih yang paling sesuai mengikut keperluan anda. 1. REACT adalah fleksibel dan bebas, sesuai untuk projek sederhana dan besar yang memerlukan penyesuaian tinggi dan keupayaan seni bina pasukan; 2. Angular menyediakan penyelesaian lengkap, sesuai untuk aplikasi peringkat perusahaan dan penyelenggaraan jangka panjang; 3. Vue mudah digunakan, sesuai untuk projek kecil dan sederhana atau perkembangan pesat. Di samping itu, sama ada terdapat timbunan teknologi sedia ada, saiz pasukan, kitaran hayat projek dan sama ada SSR diperlukan juga faktor penting dalam memilih rangka kerja. Singkatnya, tidak ada kerangka terbaik, pilihan terbaik adalah yang sesuai dengan keperluan anda.

            Objek Masa JavaScript, seseorang membina eactexe, laman web lebih cepat di Google Chrome, dll. Objek Masa JavaScript, seseorang membina eactexe, laman web lebih cepat di Google Chrome, dll. Jul 08, 2025 pm 02:27 PM

            Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle

            Apakah API cache dan bagaimana ia digunakan dengan pekerja perkhidmatan? Apakah API cache dan bagaimana ia digunakan dengan pekerja perkhidmatan? Jul 08, 2025 am 02:43 AM

            CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.

            Mengendalikan Janji: Chaining, Pengendalian Kesalahan, dan Janji Gabungan di JavaScript Mengendalikan Janji: Chaining, Pengendalian Kesalahan, dan Janji Gabungan di JavaScript Jul 08, 2025 am 02:40 AM

            Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)

            Memanfaatkan array.prototype Kaedah untuk manipulasi data dalam javascript Memanfaatkan array.prototype Kaedah untuk manipulasi data dalam javascript Jul 06, 2025 am 02:36 AM

            Kaedah terbina dalam JavaScript seperti .map (), .filter () dan .reduce () dapat memudahkan pemprosesan data; 1) .map () digunakan untuk menukar elemen satu hingga satu untuk menghasilkan tatasusunan baru; 2) .filter () digunakan untuk menapis elemen mengikut keadaan; 3) .reduce () digunakan untuk mengagregatkan data sebagai nilai tunggal; Penyalahgunaan harus dielakkan apabila digunakan, mengakibatkan kesan sampingan atau masalah prestasi.

            JS Roundup: menyelam jauh ke dalam gelung acara JavaScript JS Roundup: menyelam jauh ke dalam gelung acara JavaScript Jul 08, 2025 am 02:24 AM

            Gelung acara JavaScript menguruskan operasi tak segerak dengan menyelaraskan susunan panggilan, webapis, dan barisan tugas. 1. Stack panggilan melaksanakan kod segerak, dan ketika menghadapi tugas -tugas yang tidak segerak, ia diserahkan kepada Webapi untuk diproses; 2. Selepas Webapi melengkapkan tugas di latar belakang, ia meletakkan panggil balik ke dalam barisan yang sama (tugas makro atau tugas mikro); 3. Loop acara memeriksa sama ada timbunan panggilan kosong. Jika ia kosong, panggilan balik diambil dari barisan dan ditolak ke dalam tumpukan panggilan untuk pelaksanaan; 4. Tugas -tugas mikro (seperti janji. 5. Memahami gelung acara membantu mengelakkan menyekat benang utama dan mengoptimumkan pesanan pelaksanaan kod.

            See all articles