#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.