saya baru saja memulai dengan Reactjs dan sedang menulis komponen sederhana untuk menampilkan
li
tag dan menemukan kesalahan ini:
Token tak terduga '<'
Saya telah meletakkan contoh di jsbin di bawah ini http://jsbin.com/UWOquRA/1/edit?html,js,console,output
Tolong beritahu saya apa yang saya lakukan salah.
UPDATE: Di React 0.12+, JSX pragma tidak lagi diperlukan.
Pastikan menyertakan pragma JSX di bagian atas file Anda:
Tanpa baris ini,
jsx
trafo biner dan dalam browser akan membiarkan file Anda tidak berubah.sumber
type="text/babel"
. Dunia baru yang berani dari javascriptMasalah Token tak terduga '<' terjadi karena prasetel babel tidak ada.
Solusi: Anda harus mengkonfigurasi konfigurasi webpack Anda sebagai berikut
di sini .jsx memeriksa format .js dan .jsx.
Anda cukup menginstal ketergantungan babel menggunakan node sebagai berikut
Terima kasih
sumber
npm install babel-preset-react
memecahkan masalah saya..babelrc
file dalam proyek"presets": ["env", "react", "es2015"]
itu saja !!dalam kasus saya, saya gagal memasukkan atribut type pada tag skrip saya.
sumber
Anda perlu mentranspilasi / mengkompilasi kode JSX tersebut ke javascript atau menggunakan transformator dalam browser
Lihat http://facebook.github.io/react/docs/getting-started.html dan catat
<script>
tagnya, Anda memerlukan tag yang disertakan agar JSX berfungsi di browser.sumber
<script type="text/jsx">
tag, jika ingin, sisipkan seluruh kode Anda ke dalam paste hastebin.orgSaya mengalami kesalahan ini dan tidak dapat menyelesaikannya selama dua hari, jadi perbaikan kesalahannya sangat sederhana. Dalam tubuh, di mana Anda menghubungkan Anda
script
, tambahkantype="text/jsx"
dan ini akan menyelesaikan masalah.sumber
Berikut adalah contoh kerja dari jsbin Anda:
HTML:
jsx:
Jalankan kode ini dari satu file dan Anda seharusnya berfungsi.
sumber
Jika Anda seperti saya dan rentan terhadap kesalahan konyol, periksa juga package.json Anda jika berisi preset babel Anda:
sumber
Untuk penguraian tag yang benar, Anda harus menggunakan versi babel ini: https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js dan atribut "type = 'text / babel'" dalam naskah. Selain itu, skrip kustom Anda harus berada dalam tag "body".
sumber
jika kami mempertimbangkan konfigurasi situs Anda yang sebenarnya, maka Anda perlu menjalankan ReactJS secara langsung
dan tambahkan atribut ke file js Anda - type = "text / babel" seperti
maka contoh kode di bawah ini akan berfungsi:
sumber
Gunakan kode berikut. Saya telah menambahkan referensi ke React dan React DOM. Gunakan ES6 / Babel untuk mengubah kode JS Anda menjadi JavaScript vanilla. Perhatikan bahwa metode Render berasal dari ReactDOM dan pastikan bahwa metode render memiliki target yang ditentukan di DOM. Terkadang Anda mungkin menghadapi masalah karena metode render () tidak dapat menemukan elemen target. Ini terjadi karena kode react dijalankan sebelum DOM merender. Untuk mengatasi ini, gunakan jQuery ready () untuk memanggil metode render () dari React. Dengan cara ini Anda akan yakin tentang DOM yang dirender pertama kali. Anda juga dapat menggunakan atribut defer pada skrip aplikasi Anda.
Kode HTML:
Kode JS:
Semoga ini menyelesaikan masalah Anda. :-)
sumber
Periksa apakah .babelrc ada di dalam folder root aplikasi Anda, bukan di dalam subfolder. jika itu kasusnya, pindahkan file ke root.
sumber
Anda dapat menggunakan kode seperti ini:
Dan jangan lupa tambahkan
<div id='main-content'></div>
kebody
dalamhtml
Tetapi di file package.json Anda, Anda harus menggunakan dependensi ini:
Ini berfungsi untuk saya tetapi saya juga menggunakan webpack, dengan opsi ini (ke webpack.config.js):
sumber
Dalam kasus saya, selain
babel
preset, saya juga harus menambahkan ini ke saya.eslintrc
:sumber
Saya baru mulai belajar
React
hari ini dan menghadapi masalah yang sama. Di bawah ini adalah kode yang telah saya tulis.Dan seperti yang Anda lihat, saya melewatkan tanda koma (,) setelah saya gunakan
<Hello/>
. Dan kesalahan itu sendiri mengatakan baris mana yang perlu kita lihat.Jadi begitu saya menambahkan koma sebelum parameter kedua untuk
ReactDOM.render()
fungsi tersebut, semua mulai bekerja dengan baik.sumber
inilah cara lain Anda dapat melakukannya html
file index.js dengan jalur src / index.js
gunakan package.json ini akan membuat Anda aktif dan berjalan dengan cepat
sumber
Meskipun, saya memiliki semua pemuat babel yang tepat di file konfigurasi .babelrc saya. Ini membangun script dengan bungkusan-bundler memproduksi token kesalahan tak terduga <dan jenis kesalahan mime di konsol peramban untuk saya pada panduan refresh halaman.
Memperbarui skrip build memperbaiki masalah saya.
sumber