cari
Rumahhujung hadapan webtutorial jsCara Menghijrah Aplikasi React ke TypeScript

How to Migrate a React App to TypeScript

memindahkan projek React yang sedia ada kepada TypeScript: Panduan Langkah demi Langkah

Apabila anda belajar jenis pertama, anda sering mendengar cadangan: "Tukar projek yang ada! Ini adalah cara terbaik untuk belajar!" Migrasi aplikasi React ke TypeScript.

Artikel ini bertujuan untuk menjadi rakan anda dan membantu anda memindahkan projek anda ke TypeScript. Untuk menggambarkan, saya akan menggunakan beberapa serpihan dari projek peribadi saya yang saya berhijrah semasa proses penghijrahan.

mata utama

    Mula Memindahkan Aplikasi React ke TypeScript dengan menambah TypeScript ke projek, menambah tsconfig.json, bermula dengan kesederhanaan, menukar semua fail, meningkatkan ketegangan, membersihkan dan meraikan migrasi yang berjaya.
  • Langkah dengan mengadopsi TypeScript, bermula dengan komponen mudah. Tukar pelanjutan fail ke .tsx dan tambahkan komen jenis. Tukar semua fail dalam langkah projek demi langkah.
  • Meningkatkan ketat tsconfig.json dengan membolehkan peraturan yang lebih ketat. Ini boleh dilakukan langkah demi langkah, membetulkannya apabila kesilapan berlaku. Matlamatnya adalah untuk bergerak ke hadapan dengan cepat dan kembali kemudian untuk menyelesaikan sebarang masalah.
  • Gunakan pintasan seperti @ts-ignore dan fixmelater untuk melegakan beban semasa proses penghijrahan. Dari masa ke masa, mengutamakan menggantikan jalan pintas ini dengan keselamatan jenis yang betul.
Plan

Untuk membuat proses ini kurang menakutkan, kami akan memecahkannya ke langkah -langkah supaya anda dapat melakukan penghijrahan dalam ketulan. Saya sentiasa mendapat bantuan ini apabila berurusan dengan tugas -tugas yang besar. Berikut adalah semua langkah yang akan kami ambil untuk memindahkan projek kami:

    Tambah TypeScript
  1. Tambah tsconfig.json
  2. Mulakan dengan kesederhanaan
  3. Tukar semua fail
  4. Meningkatkan ketat
  5. Pembersihan
  6. Raikan
Nota: Langkah yang paling penting dalam keseluruhan proses adalah langkah 7. Walaupun kita hanya dapat menyelesaikan langkah -langkah ini untuk sampai ke sana.

1.

Pertama, kita perlu menambah typescript ke projek kami. Dengan mengandaikan projek REACT anda dipasang dengan create-react-app, kami boleh menjalankannya mengikut dokumen:

atau jika anda menggunakan benang:
<code>npm install --save typescript @types/node @types/react @types/react-dom @types/jest</code>

Sila ambil perhatian bahawa kami belum mengubah apa -apa kepada TypeScript lagi. Jika kita menjalankan arahan untuk memulakan projek secara tempatan (benang bermula dalam kes saya), tiada perubahan. Jika ini berlaku, itu akan menjadi hebat! Kami bersedia untuk bergerak ke langkah seterusnya.
<code>yarn add typescript @types/node @types/react @types/react-dom @types/jest</code>

2

Sebelum kita boleh memanfaatkan jenis, kita perlu mengkonfigurasinya melalui tsconfig.json. Cara yang mudah kita mulakan ialah membina satu menggunakan arahan berikut:

Ini memberi kita pengetahuan asas.

Kami belum berinteraksi dengan TypeScript lagi. Kami hanya mengambil langkah -langkah yang diperlukan untuk disediakan. Langkah seterusnya adalah untuk memindahkan fail ke TypeScript. Dengan ini kita dapat melengkapkan langkah ini dan beralih ke langkah seterusnya.

3.

Keindahan TypeScript ialah anda boleh mengadopsi langkah demi langkah. Kita boleh memulakan bahagian pertama penghijrahan dari komponen mudah. Untuk projek saya, saya akan mulakan dengan komponen butang yang kelihatan seperti ini:

<code>npm install --save typescript @types/node @types/react @types/react-dom @types/jest</code>
Untuk menukarnya dengan betul, kita perlu melakukan dua perkara:

    Tukar pelanjutan fail ke .tsx
  1. tambahkan komen jenis
Oleh kerana komponen ini menggunakan dua alat, kita perlu mengubah sesuatu:

<code>yarn add typescript @types/node @types/react @types/react-dom @types/jest</code>
mari kita periksa semula bahawa segala -galanya berfungsi dengan baik dengan menjalankan projek untuk memastikan kami tidak memecahkan apa -apa. Sila ambil perhatian bahawa di sini React-Scripts secara automatik mengesan perubahan baru dan ubah suai tsconfig.json untuk kami! Lihat! Betapa cantiknya ini?

Jika semuanya berjalan lancar, projek kami akan tetap berfungsi. Pat belakang anda! Anda telah berjaya memindahkan fail pertama anda ke TypeScript. Jika kita mahu berhenti di sini, kita boleh, tetapi mari terus maju.

4.

Langkah seterusnya adalah untuk melaksanakan langkah 3 pada semua fail dalam projek. Jika projek yang anda berhijrah agak besar, saya cadangkan anda melakukan pelbagai lelaran ini. Jika tidak, anda boleh membuang diri.

Dalam langkah ini, anda mungkin perlu menambah pakej tambahan mengikut perpustakaan pihak ketiga yang anda gunakan. Sebagai contoh, saya menggunakan momen, jadi saya perlu menjalankan benang tambah -d @jenis/momen untuk menambah jenis sebagai kebencian.

Semasa melakukan ini, anda perlu ingat perkara berikut:

menindas ralat typescript dengan menambahkan // @ts-ignore dalam baris sebelum ralat
  • Jika fail menggunakan jsx (iaitu
  • ), lanjutan fail mestilah .tsx bukan .ts Jalankan projek secara tempatan untuk memastikan semuanya berfungsi (mereka harus)
  • Setelah menyelesaikan langkah ini, kerja sukar selesai! Projek kami akan menggunakan TypeScript, tetapi kami perlu meningkatkan ketegasan kami untuk memanfaatkan kelebihannya.

5.

Sekarang kita dapat meningkatkan ketegangan dengan membolehkan peraturan yang lebih ketat dalam tsconfig.json. Syukurlah, Scripts React memberitahu kami tentang apa-apa jenis ralat apabila menjalankan projek kami secara tempatan. Kami akan mengikuti langkah -langkah di bawah:

Dayakan Peraturan

    Projek Permulaan Tempatan
  1. Betulkan ralat
  2. kami akan mengulangi proses ini untuk peraturan berikut:

"noimplicitany": benar

    "StrictNullChecks": TRUE
  • "noimplicitThis": benar
  • "Swasta": Benar
  • Saya mahu berkongsi silap mata. Jika anda mendapati sesuatu secara tersirat mempunyai jenis apa -apa dan anda tidak pasti bagaimana untuk memperbaikinya pada ketika ini, jangan membetulkannya. Buat ini dan gunakannya untuk menghapuskan kesilapan:
Matlamat kami adalah untuk bergerak ke hadapan dengan cepat dan kembali untuk menyelesaikan isu -isu ini kemudian.

Ini akan membawa keselamatan jenis yang lebih besar kepada projek kami. Jika anda ingin membaca lebih lanjut mengenai pilihan pengkompil, anda boleh membaca kandungan yang berkaitan dalam manual Typescript.

Selepas ini selesai, kita boleh menggantikannya:

  • "noimplicitany": benar
  • "StrictNullChecks": TRUE
  • "noimplicitThis": benar
  • "Swasta": Benar
Gunakan ini:

    "ketat": benar
Ini juga membolehkan pilihan ketat ini:

    StrictBindCallApply
  • StrictNullChecks
  • StrictFunctionTypes
  • StrictPropertyinitialization
Pada ketika ini, kami telah mencapai tahap ketat standard dalam projek ini. Jika kita mahu menambah cek tambahan, kita boleh menambah peraturan ini:

    "nounusedlocals": true
  • "NounusedParameters": TRUE
  • "noimplicitreturns": true
  • "nofallthroughcasesinswitch": true
Apabila kita mencapai tahap ketat yang kita puas, kita boleh bergerak ke langkah seterusnya.

6.

Jika anda menambah @ts-ignore atau menggunakan jenis fixmelater, sudah tiba masanya untuk kembali dan membetulkannya. Kami tidak perlu melakukan semua ini sekaligus, atau tidak, tetapi ini akan menjadi langkah terakhir untuk memastikan keselamatan jenis maksimum dalam projek.

Kadang -kadang usaha untuk memperbaikinya tidak bernilai masa, tetapi kadang -kadang ia berbaloi. Anda perlu berbincang dengan pasukan anda dan memutuskan apa yang masuk akal.

7

Kami melakukannya! Kami secara rasmi memindahkan projek ke TypeScript. Luangkan sedikit masa untuk meraikan kerja anda. Ini pastinya bukan perkara remeh. Terutama jika anda bekerja di pangkalan kod besar.

perkara yang perlu diingat

Semasa kita mengkaji semula kerja kita, berikut adalah beberapa perkara yang perlu diingat ketika memindahkan projek React kami kepada TypeScript.

bermula dari perkara kecil

Gunakan keupayaan untuk secara beransur -ansur mengadopsi TypeScript. Lakukan satu dokumen pada satu masa, pada kadar anda sendiri. Lakukan apa yang masuk akal untuk anda dan pasukan anda. Jangan cuba menyelesaikan semua masalah sekaligus.

pendahuluan ketat dari masa ke masa

tidak perlu ketegangan maksimum dari awal. Ini adalah perjalanan. Meningkatkan tahap dari masa ke masa. Akhirnya, anda akan mencapai tahap yang berasa selesa. Jangan berasa sedih jika anda tidak mempunyai ketat 100%. Sesetengah jenis keselamatan adalah lebih baik daripada tiada jenis keselamatan.

bergantung pada pintasan

@ts-ignore dan petua fixmelater dapat membantu meringankan beban penghijrahan. Tidak semuanya perlu diubah sekaligus. Gunakan pintasan seperti yang diperlukan, tetapi jangan merasa tidak enak menggunakannya. Sekali lagi, perkara itu adalah penghijrahan, tetapi ia tidak sepatutnya sangat menyakitkan. Dari masa ke masa, anda boleh mengutamakan menggantikannya dengan keselamatan jenis yang betul. Tetapi ingat bahawa alat ini tersedia untuk anda, jadi gunakannya.

Ini bukan satu -satunya cara untuk memindahkan projek React kepada TypeScript. Walau bagaimanapun, ini berfungsi untuk saya. Saya harap ia dapat membantu anda kerana ia membantu saya.

bacaan selanjutnya

  • React with TypeScript: Amalan Terbaik
  • Cara Praktikal untuk Meningkatkan Kemahiran TypeScript
  • Bagaimana TypeScript menjadikan anda pemaju JavaScript yang lebih baik
  • javascript: dari newbie ke ninja, edisi kedua
  • React dan React edisi asli -second

Terima kasih khas kepada Karl Horky, yang menjangkau dengan menjelaskan bahawa jenis React.FC tidak disyorkan kerana ia mempunyai sedikit faedah dan mempunyai beberapa kelemahan. Untuk maklumat lanjut, lihat perbincangan GitHub ini.

Soalan Lazim pada Aplikasi React Migrasi ke TypeScript

Apa itu TypeScript dan mengapa saya harus mempertimbangkan untuk memindahkan aplikasi React saya? TypeScript adalah superset statik yang ditaip javascript yang menyediakan pemeriksaan jenis yang dipertingkatkan, kualiti kod, dan sokongan alat. Berhijrah ke TypeScript boleh membantu anda menangkap kesilapan pada masa penyusunan, meningkatkan pemeliharaan kod, dan meningkatkan pengalaman pemaju ketika berurusan dengan aplikasi React.

Bagaimana untuk mula memindahkan aplikasi React saya ke TypeScript? Untuk memulakan, anda boleh menambah TypeScript ke projek anda menggunakan alat seperti Create React App dengan templat Typescript, atau konfigurasi secara manual projek anda untuk menyokong TypeScript. Anda juga perlu menamakan semula fail .js dan .jsx ke .ts dan .tsx masing -masing.

Apakah proses menukar kod JavaScript saya ke TypeScript? Proses ini biasanya termasuk: a. b. c. d.

Bolehkah saya memindahkan aplikasi React saya ke langkah -langkah typescript? Ya, anda boleh memindahkan langkah anda langkah demi langkah. Anda boleh menukar komponen atau modul satu demi satu sambil mengekalkan asas kod JavaScript yang sedia ada. Dengan cara ini, anda boleh beralih ke langkah -langkah TypeScript tanpa mengganggu aliran kerja pembangunan anda.

Apakah faedah menggunakan TypeScript dan React? Sesetengah faedah termasuk kualiti kod yang lebih baik, produktiviti pemaju yang lebih baik, kod yang dipertingkatkan autokomplete, alat refactoring yang lebih kuat, dan pengesanan awal kesilapan biasa. Ia juga menyediakan kod yang lebih jelas dan lebih dokumentari melalui anotasi jenis.

Bagaimana menangani perpustakaan dan kebergantungan pihak ketiga ketika berhijrah ke TypeScript? Anda boleh mencari fail definisi jenis jenis untuk banyak perpustakaan yang popular (biasanya dengan lanjutan .d.ts) pada pastiTyped, atau gunakan alat seperti @Types. Jika definisi jenis tidak tersedia, anda boleh membuat definisi jenis anda sendiri, atau menggunakan jenis mana -mana jenis untuk mengendalikan perpustakaan yang tidak disediakan.

Bagaimana untuk mengkonfigurasi alat pembangunan saya dan IDE untuk menggunakan TypeScript dalam aplikasi React? Editor kod yang paling popular dan IDE seperti Kod Visual Studio mempunyai sokongan yang hebat untuk TypeScript. Anda boleh memasang plugin dan sambungan TypeScript untuk editor anda untuk mendapat manfaat daripada integrasi TypeScript yang dipertingkatkan, autocomplete, dan pemeriksaan ralat.

Apakah cabaran biasa yang saya ada ketika berhijrah ke TypeScript? Cabaran umum termasuk menangani kesilapan jenis, mengendalikan perpustakaan pihak ketiga yang kekurangan definisi jenis, memahami sistem jenis TypeScript, dan menyesuaikan diri dengan jenis yang lebih ketat yang menguatkuasakan TypeScript.

Atas ialah kandungan terperinci Cara Menghijrah Aplikasi React ke TypeScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Python vs JavaScript: Memilih alat yang sesuai untuk pekerjaanPython vs JavaScript: Memilih alat yang sesuai untuk pekerjaanMay 08, 2025 am 12:10 AM

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan javascript: memahami kekuatan masing -masingPython dan javascript: memahami kekuatan masing -masingMay 06, 2025 am 12:15 AM

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Inti JavaScript: Adakah ia dibina di atas C atau C?Inti JavaScript: Adakah ia dibina di atas C atau C?May 05, 2025 am 12:07 AM

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

Aplikasi JavaScript: Dari Front-End ke Back-EndAplikasi JavaScript: Dari Front-End ke Back-EndMay 04, 2025 am 12:12 AM

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Python vs JavaScript: Bahasa mana yang harus anda pelajari?Python vs JavaScript: Bahasa mana yang harus anda pelajari?May 03, 2025 am 12:10 AM

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

Rangka Kerja JavaScript: Menguasai Pembangunan Web ModenRangka Kerja JavaScript: Menguasai Pembangunan Web ModenMay 02, 2025 am 12:04 AM

Kuasa rangka kerja JavaScript terletak pada pembangunan yang memudahkan, meningkatkan pengalaman pengguna dan prestasi aplikasi. Apabila memilih rangka kerja, pertimbangkan: 1.

Hubungan antara JavaScript, C, dan penyemak imbasHubungan antara JavaScript, C, dan penyemak imbasMay 01, 2025 am 12:06 AM

Pengenalan Saya tahu anda mungkin merasa pelik, apa sebenarnya yang perlu dilakukan oleh JavaScript, C dan penyemak imbas? Mereka seolah -olah tidak berkaitan, tetapi sebenarnya, mereka memainkan peranan yang sangat penting dalam pembangunan web moden. Hari ini kita akan membincangkan hubungan rapat antara ketiga -tiga ini. Melalui artikel ini, anda akan mempelajari bagaimana JavaScript berjalan dalam penyemak imbas, peranan C dalam enjin pelayar, dan bagaimana mereka bekerjasama untuk memacu rendering dan interaksi laman web. Kita semua tahu hubungan antara JavaScript dan penyemak imbas. JavaScript adalah bahasa utama pembangunan front-end. Ia berjalan secara langsung di penyemak imbas, menjadikan laman web jelas dan menarik. Adakah anda pernah tertanya -tanya mengapa Javascr

Aliran node.js dengan typescriptAliran node.js dengan typescriptApr 30, 2025 am 08:22 AM

Node.js cemerlang pada I/O yang cekap, sebahagian besarnya terima kasih kepada aliran. Aliran memproses data secara berperingkat, mengelakkan beban memori-ideal untuk fail besar, tugas rangkaian, dan aplikasi masa nyata. Menggabungkan sungai dengan keselamatan jenis typescript mencipta powe

See all articles

Alat AI Hot

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

MinGW - GNU Minimalis untuk Windows

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.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

MantisBT

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.