Ini adalah kesalahan yang saya dapatkan ketika menggunakan const:
<error line="2" column="1" severity="warning" message="'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" />
Kode saya terlihat seperti ini:
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
Kode berfungsi dengan baik hanya JSHint yang memperingatkan saya setiap saat.
"use esnext option"
. Dan mengapa? Bukankah pesan kesalahan itu cukup jelas?const
bukan JS standar (belum).Jawaban:
Ketika mengandalkan fitur ECMAScript 6 seperti
const
, Anda harus mengatur opsi ini sehingga JSHint tidak memunculkan peringatan yang tidak perlu./ * jshint esnext: true * /( Edit 2015.12.29 : sintaks yang diperbarui untuk mencerminkan komentar @ Olga )Opsi ini, seperti namanya, memberi tahu JSHint bahwa kode Anda menggunakan sintaksis spesifik ECMAScript 6. http://jshint.com/docs/options/#esversion
Sunting 2017.06.11 : menambahkan opsi lain berdasarkan jawaban ini .
Sementara konfigurasi sebaris berfungsi dengan baik untuk file individual, Anda juga dapat mengaktifkan pengaturan ini untuk seluruh proyek dengan membuat
.jshintrc
file di root proyek Anda dan menambahkannya di sana.sumber
Warning This option has been deprecated and will be removed in the next major release of JSHint. Use esversion: 6 instead.
Meskipun plugin bawaan Webstorm saya tidak mengenali opsi baru. Saya akhirnya menentukan keduanya.Anda dapat menambahkan file bernama .jshintrc di root aplikasi Anda dengan konten berikut untuk menerapkan pengaturan ini untuk seluruh solusi :
Jawaban James menunjukkan bahwa Anda dapat menambahkan komentar
/*jshint esversion: 6 */
untuk setiap file, tetapi itu lebih berfungsi daripada yang diperlukan jika Anda perlu mengontrol banyak file.sumber
.jshintrc
.JSHint will start looking for this file in the same directory as the file that's being linted. If not found, it will move one level up the directory tree all the way up to the filesystem root. (Note that if the input comes from stdin, JSHint doesn't attempt to find a configuration file)
Saya mendapat peringatan yang sama saat menggunakan pernyataan ekspor. Saya menggunakan VS Code dan menggunakan pendekatan yang mirip dengan solusi Wenlong Jiang.
Pengaturan pengguna
Konfigurasi JSHint
"jshint.options": {}
(Edit)Gunakan tanda kutip ganda saat menentukan
"esversion"
Atau salin cuplikan ini ke Pengaturan Pengguna:
Membuat
.jshintrc
file tidak diperlukan jika Anda ingin mengonfigurasi pengaturan jshint global untuk editor Andasumber
Jika Anda menggunakan VSCode:
1.
cmd + ,
)jshint.options
ke dalam bilah pencarian"esversion": 6
ke objek opsi.2.
Atau cukup tambahkan ini ke pengaturan pengguna Anda:
[UPDATE] pengaturan vscode baru
cmd + ,
)jshint
ke dalam pencarian2.
sumber
Saya menghabiskan waktu lama untuk memperbaiki ini. Setiap solusi berbicara tentang 'opsi pengaturan'. Saya tidak tahu apa artinya itu. Akhirnya, saya menemukan jawabannya. Anda bisa memasukkan baris komentar di bagian atas file
/*jshint esversion: 6 */
.sumber
.jshintrc
dan kemudian menambahkan kode berikut ke file{ "esnext": true }
{ "esnext": true }
sekarang sudah ditinggalkan . Anda sekarang harus menggunakan{ "esversion": 6 }
gantinya."esnext": true
saya dapat menyelesaikan ini."esversion": 6
tidak berpengaruh.Anda dapat menentukan esversion: 6 di dalam objek opsi jshint. Silakan lihat gambar. Saya menggunakan plugin grunt-contrib-jshint.
sumber
Ketika Anda mulai menggunakan ECMAScript 6 kesalahan ini dilemparkan oleh IDE Anda.
Ada dua opsi yang tersedia:
jika Anda hanya memiliki satu file dan ingin menggunakan es6 maka cukup tambahkan baris di bawah ini di bagian atas file.
Atau jika Anda memiliki jumlah file js atau Anda menggunakan kerangka kerja apa pun (seperti simpuljs express), Anda dapat membuat file baru bernama
.jshintrc
dalam direktori root Anda dan menambahkan kode di bawah ini dalam file:Jika Anda ingin menggunakan versi es6 dan seterusnya untuk setiap proyek, Anda dapat mengonfigurasi IDE Anda.
sumber
Di package.json Anda, Anda dapat memberitahu Jshint untuk menggunakan es6 seperti ini
sumber
Jika Anda menggunakan Webstorm dan jika Anda tidak memiliki file konfigurasi Anda sendiri, maka cukup aktifkan
EcmaScript.next
opsi Santai di dalamLihat pertanyaan ini Bagaimana-lakukan-saya-mengatasi-ini-JSHint-ES6-kesalahan
sumber
Jika Anda menggunakan konfigurasi Grunt, Anda perlu melakukan langkah-langkah berikut
Pesan peringatan di Jshint:
Larutan:
Setelah mengkonfigurasi ini, Jalankan lagi Ini akan melewati peringatan,
sumber
Buat file bernama, katakan jshint_opts dengan konten ini: {"esversion": 6}
Kemudian panggil jshint dengan sesuatu seperti baris perintah ini:
jshint --config jshint_opts lib / *. js
sumber
Untuk SublimeText 3 di Mac:
sumber
Mei 2020 Ini adalah solusi sederhana yang saya temukan dan itu akan menyelesaikan semua proyek saya, di windows jika proyek Anda berada di suatu tempat di dalam direktori c:, buat file baru .jshintrc dan simpan di direktori C buka file .jshintrc ini dan tulis
{ "esversion": 6}
dan itu Itu. peringatan harus pergi, sama akan bekerja di direktori dya Anda juga dapat mengaktifkan pengaturan ini untuk proyek tertentu hanya dengan membuat file .jshintrc di root proyek Anda dan menambahkan
{ "esversion": 6}
sumber
Buat
.jshintrc
file di direktori root dan tambahkan set di sana versi js terbaru:"esversion": 9
dan versi asi:"asi": true
(ini akan membantu Anda menghindari penggunaan titik koma)sumber
Untuk memperbaiki ini di Dreamweaver CC 2018, saya pergi ke preferensi, mengedit set aturan - pilih JS, edit / terapkan perubahan, temukan "esnext" dan ubah pengaturan semu menjadi true. Itu bekerja untuk saya setelah jam penelitian. Semoga ini bisa membantu orang lain.
sumber
Jika menggunakan Sublime Text 3:
sumber
Dalam versi baru Dreamweaver untuk menyelesaikan kesalahan ini
Dan aturan Edit masuk ke js ditetapkan dan dilewati
"jshintConfig": {"esversion": 6}
sumber