Чтобы добавить изображения в проект, я использую свойство content: url () css внутри sass-файла и указываю относительный путь к папке src, например content: url('/images/right-arrow.svg');
.
Проблема в том, что в производственной сборке мне нужно избавиться от первой косой черты с таким путем ('images/right-arrow.svg')
внутри связанного css-файла.
Единственный способ получить желаемое поведениеиспользовать url: false
параметр для css-loader
и путь записи без косой черты в файле sass: content: url('/images/right-arrow.svg')
, но такой параметр не добавляет необходимый файл из node_modules, например, шрифтов и изображений.
Webpack Config :
return {
entry: ['babel-polyfill', './src/app.js'],
output: {
path: path.join(__dirname, 'public/'),
filename: '[name].[hash].js',
},
mode: isProduction || 'development',
module: {
rules: [
{
loader: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/
},
{
test: /\.s?css$/,
use: [
isProduction ? MiniCssExtractPlugin.loader : 'style-loader',
{
loader: 'css-loader',
options: {
url: true
}
},
'sass-loader'
]
},
{
test: /\.(svg|gif|png)$/,
use: {
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'images'
}
}
},
{
test: /\.(otf|woff2|ttf|eot|woff)$/,
use: {
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'fonts/'
}
}
}
]
}
Чего мне не хватает в конфигурации веб-пакета для правильного определения путей к работе?