Rumah >hujung hadapan web >tutorial js >Panduan Pemula ke Babel
Babel: pintu masuk anda ke pembangunan JavaScript moden
Artikel ini meneroka Babel, pengkompil JavaScript yang kuat yang menjembatani jurang antara ciri-ciri JavaScript canggih dan keserasian pelayar yang lebih tua. Kekecewaan sering timbul apabila membangunkan aplikasi web kerana ketidakkonsistenan dalam sokongan penyemak imbas untuk ciri JavaScript yang lebih baru. Babel bertindak sebagai transpiler, menukar javascript moden (ES2015) ke dalam kod yang serasi untuk pelayar yang lebih tua, yang membolehkan pemaju memberi tumpuan kepada menulis kod yang bersih dan cekap tanpa kebimbangan keserasian.Kelebihan utama:
Menyediakan Babel melalui antara muka baris arahan (CLI) adalah mudah. Langkah -langkah ini menganggap persekitaran node.js berfungsi:
<code class="language-bash">mkdir babel-project cd babel-project npm init -y</code>
<code class="language-bash">npm install --save-dev @babel/cli @babel/core</code>
di direktori root projek anda untuk menentukan pratetap dan plugin. Preset secara automatik memilih plugin yang diperlukan berdasarkan penyemak imbas sasaran anda: .babelrc
.babelrc
@babel/preset-env
<code class="language-json">{ "presets": ["@babel/preset-env"] }</code>Pasang pratetap:
@babel/preset-env
<code class="language-bash">npm install --save-dev @babel/preset-env</code>Tambahkan skrip binaan (pakej.json):
skrip ini memproses fail dalam direktori package.json
dan mengeluarkan kod yang ditranspilkan ke direktori
<code class="language-json">"scripts": { "build": "babel src -d dist" }</code>
src
dist
Tulis kod anda: Buat fail JavaScript (mis., ) Menggunakan sintaks JavaScript moden. src
dist
<code class="language-bash">mkdir src dist</code>
ini akan menyalakan kod anda. src/main.js
menyasarkan penyemak imbas tertentu:
keserasian penyemak imbas halus dengan menentukan penyemak imbas sasaran dalam fail .babelrc
:
<code class="language-bash">mkdir babel-project cd babel-project npm init -y</code>
Babel Ecosystem:
Kekuatan Babel terletak pada ekosistem pratetap dan plugin yang luas. Pratetap adalah koleksi plugin, memudahkan konfigurasi. Plugin menambah transformasi atau ciri tertentu. Pratetap utama termasuk @babel/preset-env
(untuk ciri ES2015), @babel/preset-react
(untuk JSX), dan @babel/preset-typescript
(untuk Typescript).
Babel Polyfill:
Untuk ciri -ciri yang memerlukan polyfills runtime (mis., Janji), gunakan Babel Polyfill, yang termasuk core-js
dan runtime regenerator.
Penggunaan lanjutan:
Babel juga boleh mengendalikan ciri -ciri dalam peringkat cadangan, seperti bidang kelas. Untuk menggunakan medan kelas, pasang @babel/plugin-proposal-class-properties
:
<code class="language-bash">npm install --save-dev @babel/cli @babel/core</code>
Kemas kini .babelrc
anda untuk memasukkan plugin:
<code class="language-json">{ "presets": ["@babel/preset-env"] }</code>
Alternatif:
Walaupun Babel adalah alat yang berkuasa, pilihan lain wujud, seperti TypeScript, yang menambah menaip statik ke JavaScript.
Kesimpulan:
Babel memberi kuasa kepada pemaju untuk menulis kod JavaScript moden dan mengekalkan keserasian penyemak imbas yang luas. Fleksibiliti dan ekosistem yang luas menjadikannya alat yang sangat diperlukan untuk pembangunan web moden. Seksyen Soalan Lazim di bawah menangani soalan umum mengenai penggunaan dan konfigurasi Babel.
Soalan Lazim (Soalan Lazim):
(bahagian Soalan Lazim dari input asal telah dikekalkan dan sedikit diperbaharui untuk kebolehbacaan yang lebih baik.)
Apakah tujuan Babel dalam pembangunan JavaScript? Ia menukarkan kod ECMAScript 2015 ke dalam versi yang bersesuaian ke belakang.
Bagaimana saya memasang dan menyediakan babel? Pasang menggunakan node.js dan npm: . Buat fail npm install --save-dev @babel/core @babel/cli
untuk menentukan pratetap. .babelrc
Apakah pratetap dan plugin Babel? Pratetap adalah koleksi plugin. Plugin menambah ciri atau transformasi tertentu. adalah pratetap yang biasa digunakan. @babel/preset-env
Bagaimana saya menggunakan babel dengan webpack? Gunakan untuk memindahkan fail JavaScript dalam konfigurasi webpack anda. babel-loader
Bagaimana Babel mengendalikan polyfills? Babel menggunakan untuk polyfills, secara automatik mengimport polyfills yang diperlukan untuk ciri -ciri yang tidak disokong.
core-js
Ya, gunakan untuk mengubah JSX. Bagaimana saya boleh debug masalah babel? Bagaimana saya mengkonfigurasi Babel untuk keserasian penyemak imbas? Gunakan dan tentukan penyemak imbas sasaran.
Ya, gunakan .
@babel/preset-env
@babel/preset-typescript
Atas ialah kandungan terperinci Panduan Pemula ke Babel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!