在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ css引用圖片,使用webpack打包后找不到圖片?

css引用圖片,使用webpack打包后找不到圖片?

想使用webpack進(jìn)行程序打包,我一個css中引用了一個圖片地址,執(zhí)行build之后,想把這個圖片放在images這個文件夾下,但是打包后css中之前指定的地址找不到了。
比如我在一個css中的代碼如下:

body{
    background: url('../images/pic.png') no-repeat center center;
}

我的文件目錄為:
--assets
--css

--style.css

--images

--pic.png

--index.js

我的webpack配置如下:

const path = require("path");
const webpack = require("webpack");
const HtmlWebpackPlugin = require("html-webpack-plugin")
const CleanWebpackPlugin = require("clean-webpack-plugin")
var MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
    entry: "./src/index.js",
    output: {
        path: path.join(__dirname, "/dist"),
        filename: "static/[hash].js",
        publicPath:"dist/"
    },
    resolve: {
        alias: {
            // Utilities: path.resolve(__dirname, 'src/utilities/'),
        },
        extensions: [".js", ".vue"]
    },
    module: {
        rules: [{
            test: /\.js$/,
            exclude: /node_modules/,
            loader: "babel-loader"
        },
        // {
        //     test: /\.css$/,
        //    use: ['style-loader','css-loader' ]
        // },
        {
            test: /\.css$/,
            use: [MiniCssExtractPlugin.loader, "css-loader"]
        },
        {
            test: /\.(png|jpg|gif|svg)$/,
            loader: 'url-loader',
            options: {
                limit: 1000,
                name: '[name].[ext]',
                outputPath: '../images/'
            }
        },
        {
            test: /\.(eot|ttf|woff|woff2)$/,
            loader: 'url-loader',
            options: {
                limit: 1000,
                name: '[name].[ext]',
                outputPath: './static/fonts/'
            }
        }
        ]
    },
    plugins: [  //修改點2
        new HtmlWebpackPlugin({
            template: "./index.html"
        }),
        new MiniCssExtractPlugin({
            filename: "[name].[chunkhash:8].css",
            chunkFilename: "./static/css/[id].css"
        }),
        new CleanWebpackPlugin(['dist']),
        new webpack.NoEmitOnErrorsPlugin()   //出錯時只打印錯誤,但不重新加載頁面
    ]
}

打包后會報錯:圖片描述

webpack會默認(rèn)把我的圖片打包在css文件夾下。

具體應(yīng)該怎么配置?

回答
編輯回答
獨特范

那不是把你的圖片打包到css下了,而是css里的路徑被改成了按照css查找。


之前沒注意你用的 webpack4,配置在MiniCssExtractPlugin的loader部分。

loader: MiniCssExtractPlugin.loader,
options: {
  /*
  * 復(fù)寫css文件中資源路徑
  * webpack3.x配置在extract-text-webpack-plugin插件中
  * 因為css文件中的外鏈?zhǔn)窍鄬εccss的,
  * 我們抽離的css文件在可能會單獨放在css文件夾內(nèi)
  * 引用其他如img/a.png會尋址錯誤
  * 這種情況下所以單獨需要配置../../,復(fù)寫其中資源的路徑
  */
  publicPath: '../../' 
}
2017年3月1日 10:47