Bagaimana saya bisa memperbaiki peringatan WebStorm "Fungsi atau metode yang belum terselesaikan" untuk "memerlukan" (Firefox Add-on SDK)

219

Saya menggunakan WebStorm 7 untuk Firefox Add-on SDK pengembangan .

WebStorm menampilkan peringatan: "Fungsi atau metode yang belum terselesaikan" untuk require() .

Saya ingin menyingkirkan peringatan itu.

var pageMod = require("sdk/page-mod");

CATATAN: Saya sudah mengonfigurasi JavaScript-library (rujuk / lib / sdk global).

Lingkungan Hidup:

  • WebStorm 7.0.2
  • Windows 7 64bit
  • Add-on Firefox SDK 1.15beta1
skatsumata
sumber
var pageMod = persyaratan baru ("sdk / page-mod"); dapat mengatasi masalah tersebut. Perhatikan 'baru' dalam kode
NBK
Saya memiliki masalah yang sama dengan WebStorm 8
Anthony O.

Jawaban:

351

Apakah maksud Anda itu require()tidak diselesaikan? Anda perlu menambahkan require.jske proyek Anda atau mengaktifkanNode.js Globals perpustakaan yang telah ditentukan di Pengaturan / Bahasa dan Kerangka / JavaScript / Perpustakaan.

(Jalur pengaturan yang diedit oleh @yurik)

Di WebStorm 2016.x-2017.x: pastikan bahwa perpustakaan Core Node.js diaktifkan di Settings (Preferences) | Languages & Frameworks | Node.js and NPM

Di IntelliJ 2018.3.2, buka Settings (Preferences) | Languages & Frameworks | Node.js and NPMdan aktifkanCoding assistance for Node.js

lena
sumber
Terima kasih, lena dan maaf bahasa inggris saya miskin. (> _ <;) Saya ingin membersihkan peringatan di webstorm-editor. (eksekusi skrip tidak ada masalah.) Firefox-Addon-SDK sesuai dengan commonjs, tetapi tidak menggunakan node.js. "membutuhkan" metode yang ditentukan <sdkroot> /app-extension/bootstrap.js Saya mengatur bootstrap.js ke Pustaka Eksternal, tetapi tidak menghapus peringatan "tidak terselesaikan". <code> biarkan memerlukan = cuddlefish.Require (loader, module); function loadSandbox (uri) {let sandbox = ... sandbox.require = function (id) {return Object.freeze ({...}); }; mengembalikan kotak pasir; </code>
skatsumata
11
Jawaban yang berguna! BTW, di webstorm saya 9, Lokasinya adalah: Bahasa & Kerangka Kerja -> Javascript -> Perpustakaan ; Pendekatan lain adalah mencari "Perpustakaan"
Paul Ho
1
Di Webstorm 9, Anda juga dapat mengklik kanan pada "wajib", dan pilih "Gunakan Javascript Library-> Node.js Globals"
Josh Noe
Aktifkan plugin NodeJS jika 'Node.js Globals' hilang dari daftar perpustakaan.
0x539
1
FYI: Saya harus mematikan bantuan node saya, cache tidak valid dan restart WebStorm lalu hidupkan kembali untuk membuatnya berfungsi. WebStorm 2018.3.5
Reactgular
226

Webstorm 11 dan 2016.2.3

Aktifkan Node.js Core librarydalam pengaturan Webstorm.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Andrzej Rehmann
sumber
Saya hanya ingin menambahkan bahwa saya memiliki masalah yang sama dan meskipun perpustakaan inti saya sudah diaktifkan, pergi ke layar pengaturan sepertinya memperbaiki masalah.
Rob Rose
1
tidak berfungsi untuk saya menggunakan naskah dengan versi terbaru dari node dan webstorm. Masih mencari perbaiki untuk kami angular2 orang. Penggunaan di dalam definisi komponenstyles: [require('./app.component.css')]
Andre
Saya masih memiliki kesalahan dalam kesalahan kompilasi TS2304: Tidak dapat menemukan nama 'memerlukan'.
SuperUberDuper
@SuperUberDuper Anda harus mengganti 'wajib' dengan import {*} from 'node module'dan tentukan "target": "CommonJS"di dalam tsconfig.json
Bhoomtawath Plinsut
Bekerja segera setelah saya mengaktifkannya di preferensi Webstorm (bukan pengaturan proyek)
U_D
46

Dalam PHPStorm, ini sedikit lebih mudah: Anda bisa mencari NPM di pengaturan atau:

File > Settings > Language & Frameworks > Node.js and NPM

Kemudian klik tombol aktifkan (rupanya dalam versi baru, itu disebut "bantuan Coding untuk Node").

Zane Hooper
sumber
2
Tidak ada tombol aktifkan, tetapi ada [x] bantuan pengkodean untuk Node.js yang saya periksa, dan sepertinya mengenali perlu sekarang.
Dustin Graham
Terima kasih atas pembaruan Dustin, perbarui jawaban saya.
Zane Hooper
45

Setelah menghabiskan satu jam untuk mencoba ini bekerja menggunakan semua solusi yang ditemukan online, ini akhirnya berhasil!

File -> Batalkan Cache / Restart ...

M.Vanderlee
sumber
2
Ini bekerja untuk saya dengan WebStrom 2017.2.4 untuk menyelesaikan masalah di mana Array.push salah diindikasikan sebagai metode yang tidak ada.
Sesuai POSIX
1
Bekerja untuk saya setelah memperbarui PhpStorm 2017.2.4 Build number PS-172.4155.41 . Masalahnya adalah, IDE mengabaikan spesifikasi ES6.
Maximilian Fixl
13

Bekerja dengan Intellj 2016, Angular2, dan Typescript ... satu-satunya hal yang berhasil bagi saya adalah mendapatkan definisi skrip untuk NodeJS

Dapatkan node.d.ts dari DefinitelyTyped di GitHub

Atau jalankan saja:

npm install @types/node --save-dev

Kemudian di tsconfig.json, sertakan

"types": [
     "node"
  ]
TetraDev
sumber
3
Terima kasih! Saya merasa seperti sudah lama mencari! Hanya menginstal @ types / node menenangkan WebStorm; Saya akan melihat tentang kompiler nanti.
Kesarion
Terima kasih, ini berhasil buat saya. Bagi saya, dulu berfungsi menggunakan jawaban yang diterima di sini, tetapi entah bagaimana mulai bertentangan ketika saya menambahkan perpustakaan baru. Ini memperbaiki masalah saya lagi
viorel
10

Di WebStorm 2018.3 antarmuka yang sedikit berbeda masukkan deskripsi gambar di sini

Sergey Smolnikov
sumber
5

Solusi lain yang banyak membantu saya adalah memperbarui semua lib di "Node.js dan NPM". Anda hanya perlu menandai semua lib dan klik panah biru - 'perbarui'masukkan deskripsi gambar di sini

Konstantin Malikov
sumber
4

Solusi pada Webstorm 2016.3

1) klik pada ALT + F12 (open treminal)

2) jalankan perintah: npm install require.js

GalBenEvgi
sumber
4

Nonaktifkan JetBrains Inspections dan dapatkan plugin ESLint.

Satu-satunya hal yang berhasil File | Invalidate caches and restartbagi saya adalah mengatur ulangnya cukup lama untuk menipu saya agar berpikir kesalahannya hilang. Setelah inspeksi berjalan lagi kesalahan kembali seperti hadiah yang terus memberi.

Aku menyelamatkan diri semua frustrasi yang dengan menonaktifkan semua JetBrains inspeksi ( Editor> Inspections> uncheckJavaScript ) Lalu saya menginstal plugin ESLint.

Pemeriksaan yang menyebabkan "metode fungsi yang belum terselesaikan" dapat dimatikan dengan pergi ke JetBrains inspeksi ( Editor> Inspections>JavaScript ) dan mencari "belum terselesaikan Javascript" dan mematikan "fungsi yang belum terselesaikan Javascript" dan "variabel yang belum terselesaikan Javascript"

Saya membunuh mereka semua dan telah mengedit kode saya tanpa gangguan sejak saat itu.

Shanimal
sumber
3

Untuk WebStorm 2019.3 File> Preferensi atau Pengaturan> Bahasa & Kerangka Kerja> Node.js dan NPM -> Aktifkan bantuan pengkodean untuk NodeJs

Perhatikan bahwa paket tambahan yang ingin Anda gunakan sudah termasuk.

Arda Kazancı
sumber
2

Ok, Di sini saya telah melihat banyak jawaban yang sudah diberikan, saya ingin menambahkan beberapa lagi yang diperbaiki fungsi / metode / variabel peringatan.

Itu diselesaikan "fungsi atau metode yang tidak terselesaikan untuk 'memerlukan' dan beberapa peringatan lainnya"

Go -> Preferences-> Languages & Frameworks -> Node.js and NPM, then checkmark the "Coding assistance for Node.js"

Jika Anda masih melihat jenis peringatan ini, variabel yang tidak terselesaikan atau semacamnya, Anda dapat menonaktifkan peringatan ini secara manual dengan mengikuti.

Go -> Preferences-> Editor-> Inspections-> JavaScript-> General.  

dan Anda akan menemukan daftar dan tidak mencentang peringatan apa yang ingin Anda nonaktifkan dan kemudian menerapkannya.

Md Alamin
sumber
0

File-> Pengaturan-> Bahasa & Kerangka-> JavaScript

Petunjuk

Dmitry Matrosov
sumber