WebStorm uyarısını “gereksinim” için “Çözümlenmemiş işlev veya yöntem” nasıl düzeltebilirim (Firefox Eklenti SDK'sı)


219

Firefox Add-on SDK geliştirme için WebStorm 7 kullanıyorum .

WebStorm bir uyarı gösterir: için "Çözümlenmemiş işlev veya yöntem" require().

Uyarıdan kurtulmak istiyorum.

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

NOT: Zaten JavaScript kitaplığını yapılandırdım (refer / lib / sdk globals).

Çevre:

  • WebStorm 7.0.2
  • Windows 7 64 bit
  • Firefox Eklentisi SDK 1.15beta1

var pageMod = new requir ("sdk / page-mod"); sorunu çözebilir. Kodda 'yeni' dikkat edin
NBK

WebStorm 8 ile aynı sorunu yaşadım
Anthony O.

Yanıtlar:


351

Yani require()çözülmedi mi demek istiyorsun ? require.jsProjenize eklemeniz veya Node.js GlobalsAyarlar / Diller ve Çerçeveler / JavaScript / Kütüphaneler'de önceden tanımlanmış kütüphaneyi etkinleştirmeniz gerekir .

(@Yurik tarafından düzenlenmiş ayarlar yolu)

WebStorm 2016.x-2017.x'te: Node.js Core kütüphanesinin Settings (Preferences) | Languages & Frameworks | Node.js and NPM

IntelliJ 2018.3.2'de gidin Settings (Preferences) | Languages & Frameworks | Node.js and NPMve etkinleştirinCoding assistance for Node.js


Teşekkürler lena. ve üzgünüm İngiliz fakirim. (> _ <;) Webstorm-editor'de uyarıyı temizlemek istiyorum. (betik yürütme sorun değildir.) Firefox-Addon-SDK ortakları uyumludur, ancak node.js kullanmaz. "gerektirir" yöntemi tanımlı <sdkroot> /app-extension/bootstrap.js Bootstrap.js dosyasını Harici Kütüphaneler olarak ayarladım, ancak "çözülmemiş" uyarısını temizlemedim. <code> let requir = cuddlefish.Require (yükleyici, modül); function loadSandbox (uri) {let sandbox = ... sandbox.require = function (id) {return Object.freeze ({...}); }; sanal alanı döndür; </code>
skatsumata

11
Yararlı cevap! BTW, benim webstorm 9, Konum: Dil ve Çerçeveler -> Javascript -> Kütüphaneler ; Başka bir yaklaşım "Kütüphaneler" aramak
Paul Ho

1
Webstorm 9'da, "zorunlu" u sağ tıklayıp "Javascript Library-> Node.js Globals Kullan" ı seçebilirsiniz
Josh Noe

Kütüphane listesinden 'Node.js Globals' eksikse NodeJS eklentisini etkinleştirin.
0x539

1
Bilginize: Düğüm desteğimi KAPATMAM, geçersiz önbellekleri kapatıp WebStorm'u yeniden başlatmam ve çalışmasını sağlamak için tekrar açmam gerekiyordu. WebStorm 2018.3.5
Reactgular

226

Web fırtınası 11 ve 2016.2.3

Node.js Core libraryWeb fırtınası ayarlarında etkinleştirin .

resim açıklamasını buraya girin

resim açıklamasını buraya girin

resim açıklamasını buraya girin


Sadece aynı problemi yaşadığımı eklemek istedim ve çekirdek kütüphanem zaten etkin olmasına rağmen, ayarlar ekranına gitmek sorunu düzeltiyor gibiydi.
Rob Rose

1
düğüm ve webstorm en son sürümü ile daktilo kullanarak benim için çalışmadı. Hala bizim için açısal 2 kişi için bir düzeltme avı. Bileşen tanımı içindeki kullanımstyles: [require('./app.component.css')]
Andre

TS2304 derleyici hatası hala hata var: 'gerektirir' adı bulunamıyor.
SuperUberDuper

Sen değiştirmeniz gerekir @SuperUberDuper 'gerektiren' ile import {*} from 'node module've belirlediğiniz "target": "CommonJS"tsconfig.json
Bhoomtawath Plinsut

Webstorm tercihlerinde etkinleştirdiğim anda çalıştım (proje ayarlarında değil)
U_D

46

PHPStorm'da bu biraz daha kolay: NPM'yi ayarlarda arayabilir veya:

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

Ardından etkinleştir düğmesine tıklayın (görünüşe göre yeni sürümlerde buna "Düğüm için kodlama yardımı" denir).


2
Etkinleştirme düğmesi yoktu, ancak kontrol ettiğim Node.js için [x] Kodlama yardımı vardı ve şimdi gerekli olduğunu kabul ediyor gibi görünüyor.
Dustin Graham

Güncelleme için teşekkürler Dustin, cevabımı buna göre güncelledi.
Zane Hooper

45

Çevrimiçi olarak bulunan tüm çözümleri kullanarak bunu çalışmaya çalışmak için bir saat geçirdikten sonra, bu nihayet hile yaptı!

Dosya -> Önbellekleri Geçersiz Kıl / Yeniden Başlat ...


2
Bu benim için WebStrom 2017.2.4 ile işe yaradı ve Array.push'un yanlış bir yöntem olmayan yanlış bir şekilde belirtildiği bir sorunu çözmek için.
POSIX uyumlu

1
PhpStorm 2017.2.4 Derleme numarası PS-172.4155.41 güncellemesinden sonra benim için çalıştı . Sorun, IDE'nin ES6 özelliklerini görmezden gelmesiydi.
Maximilian Fixl

13

Intellj 2016, Angular2 ve Typescript ile çalışmak ... benim için işe yarayan tek şey NodeJS için Typcript Tanımlarını almaktı

GitHub'da DefinitelyTyped'den node.d.ts dosyasını edinin

Veya sadece çalıştırın:

npm install @types/node --save-dev

Sonra tsconfig.json dosyasına şunu ekleyin:

"types": [
     "node"
  ]

3
Teşekkür ederim! Yaşlarımı araştırıyor gibi hissediyorum! Sadece @ türlerini / düğümü kurmak WebStorm'u sakinleştirdi; Derleyiciyi daha sonra göreceğim.
Kesarion

Teşekkür ederim, bu benim için çalıştı. Benim için, burada kabul edilen cevabı kullanarak çalışırdı, ancak yeni kütüphaneler ekledikçe bir şekilde çatışmaya başladı. Bu yine sorunumu düzeltti
viorel


5

Bana çok yardımcı olan bir başka çözüm de "Node.js ve NPM" deki tüm kütüphaneleri güncellemektir. Tüm kütüphaneleri işaretlemeniz ve mavi oku tıklamanız yeterlidir - 'güncelleme'resim açıklamasını buraya girin


4

Webstorm 2016.3'te Çözüm

1) ALT + F12'ye tıklayın (açık titreme)

2) şu komutu çalıştırın: npm install requir.js


4

JetBrains Denetimlerini devre dışı bırakın ve ESLint eklentisini edinin.

Tek şey şu ki File | Invalidate caches and restartBenim için , hatanın gittiğini düşünmem için beni kandırmaya yetecek kadar sıfırlandı. Denetimler tekrar çalıştırıldığında, hata vermeye devam eden bir hediye gibi geri döner.

Bütün JetBrains denetimleri (devre dışı bırakarak kendime bütün bu hayal kırıklığı kurtardı Editor> Inspections> işaretini kaldırınJavaScript ) Sonra ESLint eklentisi yüklü.

"Çözülmemiş fonksiyon yöntemi" neden teftiş JetBrains denetimlerin giderek kapatılabilir ( Editor> Inspections>JavaScript ) ve "Çözülmemiş Javascript" araması ve "Çözülmemiş JavaScript değişkeni" "Çözülmemiş JavaScript fonksiyonunu" kapatarak ve

Hepsini öldürdüm ve o zamandan beri kodlarımı sorunsuz düzenledim.


3

WebStorm 2019.3 için Dosya> Tercihler veya Ayarlar> Diller ve Çerçeveler> Node.js ve NPM -> NodeJ'ler için Kodlama yardımını etkinleştir

Kullanmak istediğiniz ek paketlerin dahil edildiğini unutmayın.


2

Tamam, Burada zaten verilen bir sürü cevap gördük, çözülmemiş fonksiyon / yöntem / değişken uyarı sabit olan biraz daha eklemek istiyorum.

"Çözüm" ve diğer bazı uyarılar için çözülmemiş işlev veya yöntem "çözüldü

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

Bu tür bir uyarı, çözümlenmemiş değişken veya bunun gibi bir şey görmeye devam ediyorsanız, aşağıdaki uyarıları manuel olarak devre dışı bırakabilirsiniz.

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

bir liste bulacak ve hangi uyarıyı devre dışı bırakmak ve ardından uygulamak istediğinizi işaretlemeniz yeterli.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.