Обновление:
Код переведен на https://github.com/gsouvik/react_spa_experiment
Исходное сообщение:
Я знаю, что существуют сотни потоков, некоторые имели опечатки в конфигурации webpack, некоторые неправильно использовали загрузчики, некоторые решили, некоторые по-прежнему открыты. Но после многочисленных попыток я все еще не могу заставить это работать, простой «Hello World», использующий Webpack 4, React js.
Что я сделал
Я следил за этим видеоуроком построчно:
React & Webpack 4 с нуля
Мой пакет. Json
{
"name": "my_react_experiment_2",
"version": "1.0.0",
"description": "Basic react with webpack ",
"main": "index.js",
"scripts": {
"dev": "webpack-dev-server --mode development --hot",
"build": "webpack --mode production"
},
"author": "Souvik Ghosh",
"license": "ISC",
"dependencies": {
"react": "^16.4.2",
"react-dom": "^16.4.2"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"html-webpack-plugin": "^3.2.0",
"webpack": "^4.17.1",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.5"
}
}
Мой webpack.config.js
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.export = {
entry: './src/index.js',
output: {
path: path.join(__dirname, '/build'),
filename: 'index_bundle.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/templates/index.html'
})
]
};
Мой .babelrc
{
"presets": ["env", "react"]
}
Моя структура каталогов

Ожидаемое поведение
Я запускаю сервер разработки npm run dev
. Ожидается, что на моей новой блестящей странице React js будет написано «Мой первый проект React Webpack» (из компонента /components/App.js)
Фактическое поведение
ОШИБКА в ./src/index.js 5:16
Ошибка синтаксического анализа модуля: неожиданный токен (5:16)
Вам может понадобиться соответствующий загрузчик для обработки этого типа файлов.
| импортировать приложение из "./components/App";
|
ReactDOM.render (, document.getElementById ('root'));
| //ReactDOM.render('Hello User ', document.getElementById (' root '));
@ multi (webpack) -dev-сервер / клиент? http://localhost:8080 (webpack) /hot/dev-server.js ./src main 2
При необходимости я могу поделиться кодовой базой через git-репо. Любая помощь с благодарностью.