Я создаю простую веб-страницу для теста, который я должен сделать, используя сервер node.js. Я могу легко включить изображение через SRC, как это:
<img src="assets/young-woman.jpg">
Однако, когда я пытаюсь сделать это:
style="background-image: url(assets/young-woman.jpg);"
... это не работает.
Я пытался следовать различным решениям этой проблемы, таким как: https://github.com/webpack-contrib/css-loader/issues/256 и этот Webpack - фоновые изображения не загружаются , но ни одно из решений не работает для меня.
Он также отлично работает, если я делаю это через CSS, например:
.element {
background-image: url(../assets/young-woman.jpg);
}
Очевидно, что-то не так с моим файлом webpack.config?
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const webpack = require('webpack');
const path = require('path');
module.exports = {
entry: {
app: './src/index.js',
},
devServer: {
contentBase: './dist'
},
devtool: "source-map",
module: {
rules: [
{
test: /\.scss$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [{
loader: "css-loader", options: {
sourceMap: true
}
}, {
loader: "sass-loader", options: {
sourceMap: true
}
}],
publicPath: '../',
})
},
{
test: /\.(png|jp(e*)g|gif)$/,
use: [{
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'img/'
}
}]
},
{
test: /\.(html)$/,
use: {
loader: 'html-loader',
options: {
attrs: [':src']
}
}
},
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['env']
}
}
}
]
},
plugins: [
new ExtractTextPlugin({
filename: "css/[name].[contenthash].css",
}),
new CleanWebpackPlugin(['dist']),
new HtmlWebpackPlugin({
template: 'src/index.html',
inject: 'body',
filename: 'index.html'
}),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
Popper: ['popper.js', 'default'],
Util: "exports-loader?Util!bootstrap/js/dist/util",
Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
})
],
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist'),
publicPath: ''
}
}
Когда я пытаюсь загрузить ресурсы в браузере, я просто получаю Cannot GET /assets/young-woman.jpg
Я попытался установить Express, но это также не работает для меня, и я получаю сообщение об ошибке fs . Я не могу думать об этом. Возможно, это проблема с моей настройкой?
Заранее спасибо