Изображения не отображаются при маршрутизации / react build vs Dev

#reactjs #webpack #react-routing

#reactjs #webpack #реакция-маршрутизация

Вопрос:

Я пытаюсь заставить мои изображения отображаться в моей версии сборки моего кода react.

 ```import reportIcon from "../../../../../src/img/reportmanager.svg"; 
<img src={reportIcon } className="img-icons-list" />```
  

этот код работает, когда я нахожусь в версии сборки. Отображается мой значок reportmanager, но когда я перехожу к www.mywebsite.com/reports/user — значок исчезает
import reportIcon from "/src/img/reportmanager.svg";

также не работает. вот мой webpack.config.js файл

 ```const HtmlWebPackPlugin = require("html-webpack-plugin");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
var path = require('path');
module.exports = {
entry: './src/index.js',
output: {
    path: path.resolve(__dirname   '/public'),
    filename: 'bundle.js'
},
module: {
    rules: [
        {
            test: /.(js|jsx)$/,
            exclude: /node_modules/,
            loader: 'babel-loader',
            options: {
                presets: ['@babel/preset-env',
                    '@babel/react', {
                        'plugins': ['@babel/plugin-proposal-class-properties']
                    }]
            },
        },
        {
            test: /.css$/,
            use: ExtractTextPlugin.extract({
                fallback: "style-loader",
                use: "css-loader"
            })
        },
        {
            test: /.(eot|ttf|woff|woff2)$/,
            loader: 'file-loader?name=./font/[name]_[hash:7].[ext]'
        },
        {
            test: /.(jpg|png|svg)$/,
            loader: 'file-loader?name=./img/[name]_[hash:7].[ext]'
        }

    ]
},
devServer: {
    historyApiFallback: {
        index: "/",
    }
},
plugins: [
    new ExtractTextPlugin("css/style.css"),
    new HtmlWebPackPlugin({
        template: "./src/index.html",
        filename: "./index.html"
    }),
    function () {
        this.plugin("done", function (stats) {
            if (stats.compilation.errors amp;amp; stats.compilation.errors.length amp;amp; process.argv.indexOf('--watch') == -1) {
                console.log(stats.compilation.errors);
                process.exit(1); // or throw new Error('webpack build failed.');
            }
            // ...
        });
    }
]
};
  

Ответ №1:

Мне нужно было поместить

<base href="/">

в index.html моего проекта react.