2015-07-01 10 views
17

IntelliJ non può risolvere javascript moduli chiamati con webpack richiede che non si trovano all'interno del node_modules directoryCome risolvere la risoluzione di IntelliJ IDEA richiede il webpack dalla directory node_modules?

Immaginate questo struttura del progetto:

`- project 
    |- node_modules 
    | `- react 
    |  `- addons.js 
    |- webpack.config.js 
    |- util 
    | `- tool.js 
    `- src 
     |- components 
     | `- uno.jsx 
     `- two.jsx 

Questo è il mio webpack config

// webpack.config.js 
var path = require('path'); 
module.exports = { 
    resolve: { 
    root: [ 
     path.resolve('./src'), 
     path.resolve('./') 
    ] 
    } 
    ... 
} 

Ed è così Uso il webpack richiede

// two.js 
var React = require('react/addons'); 
var One = require('components/one'); 
var Tool = require('util/tool'); 
// dosomething 

Quindi questo funziona perfettamente all'interno della mia applicazione, e IntelliJ sembra felice con 'react/addons', come capire i sorgenti per la navigazione, il completamento del codice e la ricerca della documentazione per 'components/one' e 'util/tool'?

io ho provato finora:

Ma nessuna fortuna finora. Grazie.

+3

Con i modelli di risoluzione del percorso complessi descritti nel file di configurazione di Webpack, IJ non può garantire che tutti i metodi siano risolti senza il supporto specifico di Webpack. Si prega di votare per la [richiesta di funzionalità] (https://youtrack.jetbrains.com/issue/WEB-14019) e seguire gli aggiornamenti. PS: comunque per me le cose funzionano piuttosto bene nel progetto campione [react-starter] (https://github.com/webpack/react-starter). –

+0

@EkaterinaPrigara Grazie per il suggerimento. Rinominare 'src' in' app' ha funzionato! Ma cose come 'import {Row, Column} da 'react-bootstrap';' comunque non funzionerà mentre 'var reactBootstrap = require ('react-bootstrap');' lo fa ancora. Questo non funzionerà in [react-starter] (https://github.com/webpack/react-starter). Non rispondo alla mia domanda perché non so perché avvenga tutta questa magia nera. –

+0

sembra funzionare quando si utilizza l'approccio 'resolve.root' come qui (non so perché non consente src.) Funziona anche con' resolve.alias' ma il tuo alias deve essere uguale al nome della cartella radice o non funzionerà :(. – froginvasion

risposta

1

Penso che questo dovrebbe funzionare (o almeno così è stato nel mio caso).

In IntelliJ:

  1. Aprire il progetto
  2. File>Project Structure
  3. Sul lato sinistro, selezionare Modules
  4. Dalla struttura di directory, selezionare le cartelle in cui le tue fonti sono (util e src) e contrassegnali come Risorse
  5. Fare clic su Apply

Si dovrebbe avere il completamento del codice e la documentazione disponibile ora.

+0

La risposta è corretta, l'hanno risolto qualche tempo fa, comunque incasina il refactoring, ma in mac l'opzione è in WebStorm> Preferenze> Directory –

+1

È c'è qualcosa di necessario dopo aver premuto apply? Ho reso '/ src' una risorsa root, src contiene'/utils,/components' ecc, ma non ottengo intellisense quando cmd - facendo clic sui miei percorsi di importazione. – steezeburger

Problemi correlati