Webpack 4 basic React js hello world завершается с ошибкой «Ошибка разбора модуля: неожиданный токен» - PullRequest
0 голосов
/ 25 августа 2018

Обновление:

Код переведен на 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"]
}

Моя структура каталогов

enter image description here

Ожидаемое поведение

Я запускаю сервер разработки 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-репо. Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 25 августа 2018

Проблема с опечаткой в ​​файле конфигурации вашего веб-пакета.

У вас есть module.export, который не является правильным.Это должен быть module.exports

Рабочий пример

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  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'
    })
  ]
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...