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:
- l'aggiunta di un package.json all'interno src (NPM init) src
- aggiungendo come una libreria JavaScript in Impostazioni/Lingue & Frameworks seguendo questo https://www.jetbrains.com/idea/help/configuring-javascript-libraries.html
- mima qualsiasi cosa sotto .idea relativa a node_modules
Ma nessuna fortuna finora. Grazie.
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). –
@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. –
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