Come posso correggere l'avviso WebStorm "Funzione o metodo non risolto" per "richiedi" (Firefox Add-on SDK)


219

Sto usando WebStorm 7 per lo sviluppo di componenti aggiuntivi SDK per Firefox .

WebStorm mostra un avviso: "Funzione o metodo non risolto" per require().

Voglio liberarmi dell'avvertimento.

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

NOTA: ho già configurato la libreria JavaScript (consultare / lib / sdk globals).

Ambiente:

  • WebStorm 7.0.2
  • Windows 7 a 64 bit
  • SDK aggiuntivo Firefox 1.15beta1

var pageMod = new request ("sdk / page-mod"); potrebbe risolvere il problema. Nota il "nuovo" nel codice
NBK

Ho avuto lo stesso problema con WebStorm 8
Anthony O.

Risposte:


351

Vuoi dire che require()non è stato risolto? È necessario aggiungere require.jsal progetto o abilitare la Node.js Globalslibreria predefinita in Impostazioni / Lingue e frame / JavaScript / Librerie.

(Percorso delle impostazioni modificato da @yurik)

In WebStorm 2016.x-2017.x: assicurarsi che la libreria Node.js Core sia abilitata in Settings (Preferences) | Languages & Frameworks | Node.js and NPM

In IntelliJ 2018.3.2, vai a Settings (Preferences) | Languages & Frameworks | Node.js and NPMe abilitaCoding assistance for Node.js


Grazie Lena. e scusate il mio inglese povero. (> _ <;) Desidero ripulire gli avvisi sul webstorm-editor. (l'esecuzione dello script non è un problema.) Firefox-Addon-SDK è conforme ai commonjs, ma non utilizza node.js. Metodo "Richiede" definito <sdkroot> /app-extension/bootstrap.js Ho impostato bootstrap.js su Librerie esterne, ma non deselezionare l'avviso "non risolto". <code> let require = cuddlefish.Require (caricatore, modulo); funzione loadSandbox (uri) {let sandbox = ... sandbox.require = function (id) {return Object.freeze ({...}); }; sandbox di ritorno; </code>
skatsumata il

11
Risposta utile! A proposito, nel mio webstorm 9, la posizione è: Language & Frameworks -> Javascript -> Librerie ; Un altro approccio è quello di cercare "Biblioteche"
Paul Ho,

1
In Webstorm 9, puoi anche fare clic con il tasto destro del mouse su "richiedi" e scegliere "Usa libreria Javascript-> Node.js Globals"
Josh Noe,

Abilitare il plug-in NodeJS se "Node.js Globals" non è presente nell'elenco delle librerie.
0x539

1
Cordiali saluti: ho dovuto disattivare il mio nodo assist, cache non valide e riavviare WebStorm e poi riaccenderlo per farlo funzionare. WebStorm 2018.3.5
Reactgular,

226

Webstorm 11 e 2016.2.3

Abilita Node.js Core librarynelle impostazioni Webstorm.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


Volevo solo aggiungere che avevo lo stesso problema e sebbene la mia libreria principale fosse già abilitata, andare alla schermata delle impostazioni sembrava risolvere il problema.
Rob Rose

1
non ha funzionato per me usando il dattiloscritto con l'ultima versione di node e webstorm. Ancora a caccia di una soluzione per noi angular2 persone. Utilizzo all'interno di una definizione componentestyles: [require('./app.component.css')]
Andre

Ho ancora l'errore nell'errore del compilatore TS2304: Impossibile trovare il nome 'richiede'.
SuperUberDuper,

@SuperUberDuper Dovresti sostituire 'request' con import {*} from 'node module'e specificare "target": "CommonJS"dentro tsconfig.json
Bhoomtawath Plinsut

Funzionato non appena l'ho attivato nelle preferenze di Webstorm (non le impostazioni del progetto)
U_D

46

In PHPStorm è un po 'più semplice: puoi semplicemente cercare NPM nelle impostazioni o:

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

Quindi fare clic sul pulsante Abilita (apparentemente nelle nuove versioni, si chiama "Assistenza alla codifica per Nodo").


2
Non c'era un pulsante di abilitazione, ma c'era [x] assistenza per la codifica per Node.js che ho controllato e sembra riconoscere richieda ora.
Dustin Graham,

Grazie per l'aggiornamento Dustin, ho aggiornato la mia risposta di conseguenza.
Zane Hooper,

45

Dopo aver trascorso un'ora a cercare di farlo funzionare utilizzando tutte le soluzioni trovate online, questo alla fine ha funzionato!

File -> Cache non valide / Riavvia ...


2
Questo ha funzionato per me con WebStrom 2017.2.4 per risolvere un problema in cui Array.push è stato erroneamente indicato come un metodo che non esisteva.
Conforme a POSIX l'

1
Ha funzionato per me dopo l'aggiornamento PhpStorm 2017.2.4 Numero build PS-172.4155.41 . Il problema era che l'IDE ignorava le specifiche ES6.
Maximilian Fixl,

13

Lavorare con Intellj 2016, Angular2 e Typescript ... l'unica cosa che ha funzionato per me è stata ottenere le definizioni di Typescript per NodeJS

Ottieni node.d.ts da DefinitelyTyped su GitHub

O semplicemente corri:

npm install @types/node --save-dev

Quindi in tsconfig.json, includere

"types": [
     "node"
  ]

3
Grazie! Mi sento come se stessi cercando da anni! Basta installare @ types / node per calmare WebStorm; Vedrò più avanti il ​​compilatore.
Kesarion,

Grazie, ha funzionato per me. Per me, funzionava usando la risposta accettata qui, ma in qualche modo ha iniziato a entrare in conflitto quando ho aggiunto nuove librerie. Ciò
risolse di


5

Un'altra soluzione che mi ha aiutato molto è aggiornare tutte le librerie in "Node.js e NPM". Devi solo contrassegnare tutte le librerie e fare clic sulla freccia blu - "aggiorna"inserisci qui la descrizione dell'immagine


4

Soluzione su Webstorm 2016.3

1) fai clic su ALT + F12 (apri treminale)

2) esegui il comando: npm install require.js


4

Disabilita JetBrains Inspections e ottieni il plug-in ESLint.

L'unica cosa che File | Invalidate caches and restartfa per me è resettarlo abbastanza a lungo da indurmi a pensare che l'errore sia sparito. Una volta ripetute le ispezioni, l'errore ritorna come un dono che continua a dare.

Mi sono salvato tutto ciò che la frustrazione disabilitando tutte le ispezioni JetBrains ( Editor> Inspections> deselezionare JavaScript) Poi ho installato il plugin ESLint.

L'ispezione che le cause "metodo della funzione non risolti" può essere disattivata andando a JetBrains ispezioni ( Editor> Inspections> JavaScript) e la ricerca di "non risolti Javascript" e spegnendo "la funzione non risolti Javascript" e "variabile non risolti Javascript"

Li ho uccisi tutti e da allora ho modificato il mio codice senza problemi.


3

Per File WebStorm 2019.3> Preferenze o Impostazioni> Lingue e frame> Node.js e NPM -> Abilita assistenza codifica per NodeJs

Si noti che i pacchetti aggiuntivi che si desidera utilizzare sono inclusi.


2

Ok, qui ho visto molte risposte già fornite, voglio aggiungerne altre che sono state risolte con la funzione / metodo / avviso variabile non risolti.

Che è stato risolto "la funzione o il metodo non risolto per" richiedono "e qualche altro avviso"

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

Se vedi ancora questo tipo di avviso, una variabile non risolta o qualcosa del genere, puoi disabilitare manualmente questi avvisi seguendo le istruzioni.

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

e troverai un elenco e deselezionato quale avviso vuoi disabilitare e quindi applicare.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.