Vue: Tingkatkan informasi pesan peringatan

Dibuat pada 2 Okt 2016  ·  40Komentar  ·  Sumber: vuejs/vue

Dikatakan "Vue Warn: Handler untuk klik acara tidak ditentukan"
Ada kesalahan di suatu tempat yang terkait dengan klik acara, saya punya ratusan komponen dengan acara klik. Di komponen/file mana saya akan mendapatkan kesalahan?

erroe

improvement

Komentar yang paling membantu

Saya menggunakan Vue 2. Ini bukan bug. Ini adalah pesan kesalahan yang tidak ada gunanya. Nah , Vue dapat menganggap ini sebagai saran untuk memperbaiki gaya pesan kesalahan dan membuatnya spesifik. Sehingga, jika ada kesalahan, jika ada pengembang yang melakukan kesalahan, ia dapat memperbaikinya dalam waktu singkat dengan mengetahui dengan tepat di mana letak kesalahannya. Dibandingkan dengan React JS, mereka menunjukkan nama komponen bersama dengan nomor baris dan tentu saja kesalahannya juga.

Yang saya inginkan, ada pesan kesalahan untuk lebih spesifik.

Semua 40 komentar

Masalah yang diajukan ini memerlukan informasi lebih lanjut. Apakah Anda menggunakan vue 2 atau vue 1.
Apakah itu bug atau saran? jika bug maka tautan yang dapat direproduksi di jsfiddle.
Jika salah satu komponen Anda tidak memiliki fungsi handler, ini bukan masalah vue.

//Terbaik

Saya menggunakan Vue 2. Ini bukan bug. Ini adalah pesan kesalahan yang tidak ada gunanya. Nah , Vue dapat menganggap ini sebagai saran untuk memperbaiki gaya pesan kesalahan dan membuatnya spesifik. Sehingga, jika ada kesalahan, jika ada pengembang yang melakukan kesalahan, ia dapat memperbaikinya dalam waktu singkat dengan mengetahui dengan tepat di mana letak kesalahannya. Dibandingkan dengan React JS, mereka menunjukkan nama komponen bersama dengan nomor baris dan tentu saja kesalahannya juga.

Yang saya inginkan, ada pesan kesalahan untuk lebih spesifik.

Ada banyak pesan di Vue yang tidak banyak bicara. Sayangnya, pemeriksaan keamanan Vue tampaknya kurang.

Saya kira jika vue dapat menambahkan sedikit lebih banyak info ke peringatannya -

nama komponen
tipe komponen
atau
dapat membuat pesan peringatan dapat dikonfigurasi untuk env pengembangan.

Kami mencoba memberikan informasi komponen kapan pun kami bisa, yang ini mungkin merupakan kesalahan.

@just-nobody tolong berikan contoh spesifik tentang pesan mana yang kurang sehingga kami dapat meningkatkan - hanya mengeluh tidak menghasilkan apa-apa.

Saya tidak benar-benar mengeluh; Saya pikir itu hanya sesuatu yang orang sudah tahu. Saya telah mengalami banyak kasus Edge kecil di masa lalu yang memberikan pesan aneh dan tidak mencolok dari masalah sebenarnya, tetapi malah mengakar jauh ke dalam sumbernya, dan beberapa masalah lain tidak memancarkan kesalahan, dan malah menyebabkan beberapa rendering aneh serangga. Beberapa lebih mudah dilacak daripada yang lain jadi saya tidak repot-repot melaporkannya karena saya pikir itu hanya saya yang bodoh, tetapi satu khususnya saya benar-benar membuat permintaan tarik karena butuh waktu lama bagi saya untuk mencari tahu apa yang salah .

Saya membayangkan banyak dari mereka yang diperbaiki sekarang setelah 2.0.1 keluar, tetapi saya buruk karena tetap diam, saya kira. Pesan untuk pembaca: jika menurut Anda itu bug, laporkan, meskipun mungkin akhirnya bukan bug.

@yyx990803 Bahkan, Memberikan kunci nama komponen tidak banyak membantu. Terima kasih telah mampir dan menambahkan masalah ini sebagai perbaikan.

:) terima kasih Evan

Hai, Saya perhatikan baru-baru ini bahwa kurangnya nomor baris membuat segalanya sangat sulit untuk di-debug terutama jika komponennya besar. Saya memiliki komponen dengan beberapa ribu baris. Saya menerima peringatan
"[Peringatan Vue]: Kesalahan dalam fungsi render: "TypeError: _vm.values[item.name] tidak ditentukan""

Ada nama komponen, tetapi tidak ada nomor baris di konsol Firefox saya. Untuk kasus seperti ini akan sangat berguna untuk memiliki nomor baris tertentu. Tentu saja saya dapat membagi komponen menjadi beberapa yang lebih kecil atau hanya menggali semua baris ini dengan pencarian editor tetapi bukan itu intinya.

Harap pertimbangkan untuk menambahkan nomor baris di versi berikutnya. Terima kasih.

+1 Harap tambahkan nomor baris.

Saya mendapat pesan berikutnya,

vue.js:577 [Vue warn]: Kesalahan dalam render: "TypeError: Cannot read property 'length' of undefined"
(ditemukan di)

Saya tahu mengapa gagal, pada konstruksi ini " variabel.panjang" jika variabel == null. Masalahnya adalah saya memiliki banyak konstruksi ".length", data berasal dari layanan eksternal.

Sama untuk saya @ameoba32
Saya memiliki "Tidak dapat membaca 'panjang' properti yang tidak ditentukan" dan saya tidak menemukan di mana masalahnya. Ini adalah aplikasi web yang besar sehingga sulit.
Saya kira saya menemukan file penyebabnya tetapi saya tidak tahu di mana tepatnya kesalahan itu.
Haruskah saya menghapus baris demi baris untuk menemukan garis putus? xD

Sama di sini seperti @ameoba32 . @yyx990803 Tolong lakukan sesuatu. Terima kasih!

Saya sangat menyukai vue - dan telah bekerja dengannya selama dua tahun. Kurangnya kekhususan dalam kesalahan RENDER adalah keluhan/permintaan #1 saya untuk memperbaikinya. Kesalahan ini terjadi baik dalam template atau dalam kode js yang sesuai. Nomor baris akan sangat membantu, atau bahkan jika masalahnya terletak di template atau kode js.

memiliki masalah yang sama

Ya. Saya memiliki masalah yang sama ;)

unreachable code after return statement[Więcej informacji] app.js:5248:4
unreachable code after return statement[Więcej informacji] app.js line 4957 > eval:5248:4
unreachable code after return statement[Więcej informacji] app.js:5248:4
unreachable code after return statement[Więcej informacji] app.js line 5136 > eval:5248:4

Saya mengerti apa artinya, tetapi saya tidak tahu di mana saya harus memperbaikinya dan memeriksa semua komponen saya untuk menemukan masalah itu adalah pekerjaan yang sulit.

screen shot 2018-08-23 at 16 48 17

Sama disini.

vue.common.js tidak berarti apa-apa bagi saya ketika saya mencoba menemukan di mana kesalahan itu terjadi.

Saya setuju, bahwa hanya nomor baris dalam file sumber yang akan mempercepat proses debug

sesuatu yang baru tentang ini? mengapa masalah ditutup (karena masalah masih ada)?

akan senang ini diperbaiki! debugging terlalu rumit sekarang, kami membutuhkan nama file dan nomor baris untuk debugging lebih mudah, tolong perbaiki

Saya juga setuju, file .vue saya sangat besar dan mendapatkan lokasi yang tepat akan membantu.

Saya telah membuat beberapa kemajuan dalam menentukan komponen mana dan bisa mendapatkan nomor baris (dalam banyak kasus) untuk kesalahan tersebut. (Saya menggunakan komponen file tunggal). Tapi masih banyak penyelidikan yang harus dilakukan. Saya berharap untuk merilis temuan saya di masa depan.

@gpadilla123 Tuhan mempercepat pak. Menantikan pekerjaan Anda.

Jika ada orang yang masih menyisir kode mereka untuk pernyataan pengembalian yang salah, saya menemukan sumber kesalahan yang terjadi ketika saya menggunakan ekspresi dan panggilan fungsi di templat:
:class="x=0; getClass()" dalam kasus ini, menghapus x=0; menghilangkan peringatan. Bukan berarti ini akan menjadi kasus bagi siapa pun dalam daftar ini, tetapi pengingat untuk memeriksa template.

Bahkan sampai hari ini masih belum jelas seperti bola. Saya mendapatkan kesalahan ketika vue mengevaluasi sesuatu yang bahkan tidak saya ubah ...

Vue 3.0 harus menyelesaikan masalah ini karena akan memiliki pesan kesalahan yang lebih baik, tetapi tanggal rilis Vue 3.0 berkisar dari akhir Q2 2019 hingga akhir 2019. Terlalu lama bagi saya untuk menunggu, jadi saya telah meretas cara untuk mendapatkan garis jumlah kesalahan (untuk beberapa kasus). Solusi yang diretas harus lebih kuat dan berfungsi untuk lebih banyak kasus.

ya ini membunuh saya, saya mengharapkan setidaknya nomor baris atau sesuatu untuk menentukan lebih baik

+1

Ini mematikan. Kami membutuhkan garis kesalahan yang terjadi untuk dilaporkan dengan benar. Saat ini saya sepertinya mendapatkan nomor baris vue.js yang sama sekali tidak berguna ketika terjadi kesalahan, mis.

[Peringatan Vue]: Kesalahan dalam render: "TypeError: Cannot read property '0' of undefined"

[Vue warn]: Error in render: "TypeError: Cannot read property 'length' of undefined"
Akan menyenangkan mencari garis. Terutama ketika ada banyak .length dalam kode saya.

Pesan seperti ini seperti pengejaran angsa liar. Tidak tahu dari mana kesalahan itu berasal: Saya mengharapkan nomor baris, nama vue, nama fungsi yang saya buat dan itu bukan bagian dari kerangka kerja Vue. Ini terjadi pada vue 2.5.17. Juga tidak ada bantuan dari ekstensi pengembangan vue dalam kasus seperti ini.

image

Senang mendengar ini akan dibahas di Vue 3.0. Sementara itu saya menemukan tip yang bagus: Klik pada indikator garis kesalahan di konsol, lalu letakkan breakpoint pada baris yang sama di sumber Vue. Anda kemudian dapat memuat ulang halaman, debugger akan berhenti pada breakpoint, kemudian Anda dapat mengerjakan kembali tumpukan hingga Anda menemukan salah satu komponen Anda, dan biasanya kesalahan ada di sana.

Ini tidak sempurna tetapi bisa membantu Anda melepaskan diri dari perburuan serangga.

[Vue warn]: Error in render: "TypeError: Cannot read property 'length' of undefined"
Akan menyenangkan mencari garis. Terutama ketika ada banyak .length dalam kode saya.

Akhirnya menemukan garis.
Itu tidak akan memakan waktu lama jika masalah telah diselesaikan.

+1, logging konsol vue sangat kurang. Ambil contoh di bawah ini. Itu memberi tahu saya tumpukan komponen, yang bagus, tetapi tidak ada referensi ke nomor baris di sini, dan seluruh tumpukan panggilan menunjuk ke kompilasi kode vue, bukan kode komponen saya. Nomor baris di sebelah nama komponen adalah semua yang dibutuhkannya.

image

Saya juga mengalami masalah debugging tanpa nomor baris...

image

image
Tantangan diterima.

Ini telah mengecewakan selama bertahun-tahun dan masih.

saya menggulir ini berharap seseorang akan memiliki peretasan super rahasia untuk ini atau sudah ada pembaruan

+1

TypeError: Cannot read property 'length' of undefined

tapi saya punya 30-50.length dan saya tidak tahu di mana saya melakukan kesalahan.

Kami sangat membutuhkan nomor baris dalam kesalahan render.

Ada solusi?

Dapat mengonfirmasi, saya di sini hanya menatap kode saya ... tanpa tahu mengapa itu gagal.

Jika Vue memiliki kelemahan, ini akan menjadi satu-satunya

Apakah halaman ini membantu?
0 / 5 - 0 peringkat