我正在使用webpack制作cms模板。
在某些css文件中,我使用了一些图像,例如background-image: url('../images/space-bg.jpg');
所有图像都在webpack文件夹中,我希望webpack将其推送到公用文件夹中。
目前,我在index.js文件中使用了一些硬编码规则,例如import '../images/space-bg.jpg';
但是我想知道是否有一种方法可以自动处理它们?
这是我的webpack.config.js:
var path = require('path');
var MiniCssExtractPlugin = require('mini-css-extract-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
mode: 'development',entry: './src/js/index.js',output: {
filename: 'js/theme-[contentHash].js',path: path.resolve('./assets'),publicPath: 'themes/mazdigital/assets'
},plugins: [
new HtmlWebpackPlugin({
filename: path.resolve(__dirname,'layouts/default.htm'),template: './src/layouts/default.htm'
}),new MiniCssExtractPlugin({
filename: 'css/theme-[contenthash].css',chunkFilename: '[id]-[contenthash].css',}),new CleanWebpackPlugin()
],module: {
rules: [
{
test: /\.css$/,use: [
MiniCssExtractPlugin.loader,'css-loader?url=false','postcss-loader'
],},{
test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,loader: 'file-loader',options: {
name: 'fonts/[name].[ext]'
}
},{
test: /\.(png|jpe?g|gif)$/i,options: {
name: 'images/[name].[ext]',}
},],};