2015-06-26 12 views
33

Sto usando il numero linter di Atom, react e linter-jshint/linter-jsxhint. nei miei file JSX, continuo a ricevere l'avvertimentoCome impostare l'opzione jshint/jsxhint "esnext" in Atom

Attenzione: 'importazione' è disponibile solo in ES6 (opzione esnext uso). (W119)

Questo è piuttosto semplice. Ho effettuato alcune ricerche e ho scoperto che è possibile impostare l'opzione jshintConfig in package.json (quando si utilizza NPM). Il mio progetto utilizza NPM e ho un package.json. Ho aggiunto:

"jshintConfig": { 
    "esnext": true 
} 

Successivamente, ho eseguito una ricarica ma gli avvisi persistono. Ho anche modificato il mio linter-jshint/linter-jsxhint config nella Atom (config.cson) con:

"linter-jshint": 
    harmony: true 
    esnext: true 

"linter-jsxhint": 
    harmony: true 
    esnext: true 

e ha fatto un reload, ma che non ha aiutato neanche.

Quindi: quando si utilizza linter-jshint/linter-jsxhint come pacchetti Atom, come si imposta l'opzione esnext?

risposta

18

Prima possibilità, raccomandato: è possibile creare un .jshintrc in voi home directory e jshint lo leggerà nel caso ci sia nessuno nella directory del progetto. Potrebbe essere necessario riavviare Atom dopo.

Un'altra possibilità sconsigliato: si potrebbe anche modificare la configurazione di jshint in Atom e specificare la posizione del vostro globale .jshintrc se per qualche motivo non si vuole mettere nella vostra home directory con la bandiera --config

'linter-jshint': 
    'jshintExecutablePath': /path/to/jshint --config /path/to/.jshinrc 

Eseguire 'which jshint' per trovare il percorso. Non è raccomandato perché ogni altro .jshinrc di file (nel progetto, ecc) saranno ignora:

jshint cercherà questa configurazione in un certo numero di posizioni, fermandosi alla prima partita positiva:

  • la posizione specificata con la bandiera --config

  • Un package.json file chiamato si trova nella directory corrente o qualsiasi genitore della directory corrente (la configurazione dovrebbe essere dichiarato come attributo di jshintConfig valore JSON di quel file)

  • Un file denominato.jshintrc trova nella directory corrente o qualsiasi genitore della directory corrente

  • Un file denominato .jshintrc si trova nella directory dell'utente corrente "casa" (dove definito)
+0

Perché la route di configurazione non è consigliata? –

+1

Perché ogni altro file .jshinrc verrà ignorato (vedere la risposta modificata). –

+0

È un problema se 'which jshint' non dà output e' jshint' restituisce '-bash: jsxhint: comando non trovato'? L'ho solo installato tramite i pacchetti 'linter' e' linter-jshint' di Atom, non l'ho mai messo sul mio sistema stand-alone. –

76

È possibile creare un .jshintrc nella cartella del progetto, verrà letto dal linter come un file sorgente JSON.

Per utilizzare l'opzione esnext,

{ 
    "esnext": true 
} 

si avrà probabilmente bisogno di riaprire il file JS per essere in grado di vedere le nuove modifiche.

+0

E 'possibile farlo senza un nuovo file? Mi è piaciuta l'idea di inserire la configurazione migliore –

+2

Meglio farlo in base al progetto per progetto piuttosto che impostare un'opzione globale come un punto in futuro potresti tornare qui chiedendo perché l'installazione di jshint non cade quando colpisce nuove specifiche ES. – jamesmhaley

+0

Grazie! @peduxe – tonkihonks13

5

È possibile utilizzare la configurazione in linea aggiungendo questo commento nel vostro .js di file:

/* jshint esversion: 6 */

http://jshint.com/docs/