Webpack doesn’t know to resolve .jsx
files implicitly. You can specify a file extension in your app (import App from './containers/App.jsx';
). Your current loader test says to use the babel loader when you explicitly import a file with the jsx extension.
or, you can include .jsx
in the extensions that webpack should resolve without explicit declaration:
module.exports = {
entry: './index.jsx',
output: {
filename: 'bundle.js'
},
module: {
loaders: [{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['es2015', 'react']
}
}]
},
resolve: {
extensions: ['', '.js', '.jsx'],
}
};
For Webpack 2, leave off the empty extension.
resolve: {
extensions: ['.js', '.jsx']
}