Вам может понадобиться соответствующий загрузчик для обработки этого типа файла с Webpack - PullRequest
0 голосов
/ 09 декабря 2018

Я получаю следующую ошибку при настройке веб-пакета для моего проекта.У меня уже был свой проект, собранный до Webpack, и я сейчас настраиваю его, чтобы я мог улучшить свой проект.Прошу прощения за мое незнание.

ERROR in ./client/src/index.js
Module parse failed: Unexpected token (42:2)
You may need an appropriate loader to handle this file type.
ReactDOM.render(
<Provider store={store}>
<Router history={hist}>
<div>

webpack.config.js

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
  entry: "./client/src/index.js",
  output: {
    path: path.join(__dirname, "/dist"),
    filename: "bundle.js"
  },
  resolve: {
    extensions: [".js", ".jsx"]
  },
  watch: true,
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        test: /\.(sa|sc|c)ss$/,
        use: ["style-loader", "css-loader", "sass-loader"],
        use: {
          loader: "babel-loader"
        }
      }
    ],
    loaders: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        loader: "babel-loader",
        options: { presets: ["es2015", "react"] },
        include: [path.resolve(__dirname, "client")]
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: "./src/public/index.html"
    })
  ]
};

Редактировать в моем index.js, япопробовал предложенный ответ

ReactDOM.render(
  React.createElement(
    <Provider store={store}>

.babelrc

{
  "presets": ["es2015", "env", "react"],
  "plugins": [
    "transform-class-properties",
    "transform-react-jsx",
    "transform-object-rest-spread",
    [
      "module-resolver",
      {
        "root": ["./src"]
      }
    ],
    ["import-rename", { "^(.*)\\.jsx$": "$1" }]
  ]
}

1 Ответ

0 голосов
/ 09 декабря 2018

В файле jsx / tsx реактивные элементы преобразуются в компилятор jsx

ReactDom.render (React.createElement (

), но поскольку ваш индексный файл представляет собой файл .js, вам нужно сделать этовручную.

Для получения более подробной информации перейдите по этой ссылке https://reactjs.org/docs/react-without-jsx.html

...