Для работы с этим типом файлов вам может потребоваться соответствующий загрузчик - React и Webpack

Несмотря на то, что я уже добавил загрузчик babel, независимо от того, что он просто не читает синтаксис JSX. Пожалуйста, любая помощь будет принята с благодарностью! Я уже запустил npm install как для present-env, так и для preset-response.

Webpack.config.js

Я использовал конфигурацию веб-пакета, указанную в документации Spring, с реакцией, как показано ниже.

var path = require('path');
module.exports = {
    entry: './src/main/js/app.js',
    devtool: 'sourcemaps',
    cache: true,
    mode: 'development',
    output: {
        path: __dirname,
        filename: './src/main/resources/static/built/bundle.js'
    },
    resolve: {
        extensions: ['.js', '.jsx']
      },
    module: {
        rules: [
            {
                test: path.join(__dirname, '.'),
                exclude: /node_modules/,
                use: [{
                    loader: 'babel-loader',
                    options: {
                        presets: ["@babel/preset-env", "@babel/preset-react"],
                        plugins: ["@babel/plugin-proposal-class-properties"]
                    }
                }]
            },
            {
                test: /\.css$/,
                use: [ 'style-loader', 'css-loader' ]
              }
        ]
    }
};

Home.jsx

import React, { Component } from "react";
import NavBar from "./navbar";
import Product from "./product";
import css from "./product.css";

const divStyle = {
  display: "flex",
  flexWrap: "wrap",
  flexDirection: "row",
  justifyContent: "flex-start",
  overFlow: "auto",
  whiteSpace: "nowrap"
};

const horizontalScroll = {
  display: "inline-block"
};
class Home extends Component {
  render() {
    return (
      <div style = {divStyle}>
        {this.props.products.map(product => (
          <Product
            key = {product.id}
            onDelete = {this.props.onDelete}
            product = {product}
            onIncrement = {this.props.onIncrement}
          />
        ))}
      </div>
    );
  }
}

export default Home;

Ошибка :

[INFO] ERROR in ./src/main/js/app.js
[INFO] Module not found: Error: Can't resolve 'src/main/resources/templates/index.html' in 'E:\alpha\src\main\js'
[INFO]  @ ./src/main/js/app.js 42:12-62
[INFO] 
[INFO] ERROR in /alpha/src/main/js/home.jsx 21:6
[INFO] Module parse failed: Unexpected token (21:6)
[INFO] You may need an appropriate loader to handle this file type.
[INFO] |   render() {
[INFO] |     return (
[INFO] >       <div style = {divStyle}>
[INFO] |         {this.props.products.map(product => (
[INFO] |           <Product
[INFO]  @ ./src/main/js/app.js 40:11-49
[INFO] 
[INFO] ERROR in /alpha/src/main/js/navbar.jsx 5:8
[INFO] Module parse failed: Unexpected token (5:8)
[INFO] You may need an appropriate loader to handle this file type.
[INFO] | 
[INFO] | class NavBar extends Component {
[INFO] >   state = {
[INFO] |     cartItems: 0,
[INFO] |     notifications: 0,
[INFO]  @ ./src/main/js/app.js 38:13-53

Ошибка говорит, что он не может специально прочитать JSX. Вавилон-загрузчик у меня уже есть. Я не знаю, что еще мне делать. Заранее спасибо.

Может быть, вы можете попробовать это явно вот так: test: /\.(js|jsx)$/ вместо test: path.join(__dirname, '.'),

Thibault Gobert 04.12.2018 15:23

Я сделал! Я думаю, это сработало, я не уверен! Теперь я получаю сообщение об ошибке загрузчика стилей. Спасибо за помощь! Я свяжусь с вами, если это повторится!

aeron 05.12.2018 01:02
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
703
0

Другие вопросы по теме