Mentre scrivo webpack.config.js come questowebpack non riesce a trovare il modulo se il file denominato JSX
module.exports = {
entry: './index.jsx',
output: {
filename: 'bundle.js'
},
module: {
loaders: [{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['es2015', 'react']
}
}]
}
};
E in index.jsx
importare un modulo react
App
import React from 'react';
import { render } from 'react-dom';
import App from './containers/App';
let rootElement = document.getElementById('box')
render(
<App />,
rootElement
)
trovo se ho nome modulo app in App.jsx
, quindi il webpack dirà in index.jsx
non può trovare il modulo App
, ma se ho chiamato l'app modulo nome in App.js
, troverà questo modulo e funzionerà bene.
Quindi, sono confuso a riguardo. Nel mio webpack.config.js
, ho scritto test: /\.jsx?$/
per controllare il file, ma perché il nome *.jsx
non è stato trovato?
In WebPack 3.4, non è possibile utilizzare resolve.extension con valore vuoto. Ciò causerà un'eccezione nella compilazione: "Oggetto di configurazione non valido. Webpack è stato inizializzato utilizzando l'oggetto di configurazione che non corrisponde allo schema dell'API - configuration.resolve.extensions [0] non dovrebbe essere vuoto." –