图像未加载到 webpack 中 + 图像输出文件夹之外还有另一个图像

dam*_*era 6 html javascript backend webpack

图像未加载到 webpack 中,+图像输出文件夹之外还有另一个图像。

我尝试了很多解决方案,但没有成功。在第二张图片中,有一个导出标签“export default "./media/hero-bg.png";” 在构建文件夹索引 Html webpack 中,使用另一个哈希名称在构建文件夹之外添加了图像。

const path = require("path")
const react = require("react")
const webpack = require("webpack")
const HtmlWebpackPlugin = require("html-webpack-plugin")
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const CopyPlugin = require('copy-webpack-plugin');

module.exports = {
    entry: {
        menu: ['babel-polyfill', './src/index.js'],
        main:'./index.js'
    },
    output:{
        path: path.resolve(__dirname, 'build'),
        assetModuleFilename: "[name].[ext]",
    },
    // devtool:"inline-source-map",
    devServer:{
        port: 3130,
        static: true,
    },
    module: {
        rules: [
            {
                test: /\.m?js$|jsx/,
                exclude: /node_module/,
                use: {
                    loader:"babel-loader",
                    options: { presets: ['@babel/preset-env','@babel/preset-react']},
                    
                },
            },
            {
                test: /\.css$/,
                exclude: /node_module/,
                use: ["style-loader","css-loader"]
            },
            {
                test: /\.html$/i,
                exclude: /node_module/,
                loader: "html-loader",
            },
            {
                test: /\.scss$/,
                exclude: /node_module/,
                use: [
                    "style-loader",
                    "css-loader",
                    "sass-loader",
                ]   
            },
            {
                test: /\.jpeg|jpg|png|svg$/,
                exclude: /node_module/,
                type: "asset/resource",
                use: {
                    loader:"file-loader",
                    options: {
                        name: "[name].[ext]",
                        outputPath: "media/",
                        publicPath:"./media/"
                
                    }
                }
            },
            // file loader 
            
        ]
    },
    plugins: [
        new webpack.ProvidePlugin({
          "React": "react",
        }),
        new HtmlWebpackPlugin({
            template: './src/index.html',
            filename:"menu.html",
            inject: "body"
        }),
        new HtmlWebpackPlugin({
            template: './index.html',
            inject: "body"
          }),
      ],
    

}



 html
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Coffee House/HomePage</title>
    <!-- swiper carousel  -->
    <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.css"/>
    <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css"/>
    <!-- normalize styles  -->
    <link rel="stylesheet" href="./src/css/slider.css" />
    <!-- carousel stylesheet -->
    <link rel="stylesheet" href="./src/css/carousel.css" />
    <!-- main stylesheet  -->
    <link rel="stylesheet" href="./src/css/index.css" />
    <!-- common styles  -->
    <link rel="stylesheet" href="./src/css/commonStyles.css" />
    <link
      href="./src/css/stylesheet.css"
    />

  </head>
  <body>
      <!-- nav bar -->
      <nav class="nav-wraper">
        <div class="custom--container nav">
          <!-- left sec  -->
          <div class="nav__left-sec">
            <a href="/" class="logo-img-wraper">
              <img src="./src/images/logo-dark.png" alt="navlogo" class="nav__left-logo"/>
            </a>
          </div>
          <!-- right sec  -->
          <div class="nav__right-sec">
            <button class="toggle-btn responsive" id="toggleBtn">
              <svg xmlns="http://www.w3.org/2000/svg" width="30.75" height="25" viewBox="0 0 30.75 25">
                <g id="Group_886" data-name="Group 886" transform="translate(-304.25 -30)">
                  <line id="Line_1" data-name="Line 1" x2="30.75" transform="translate(304.25 32.5)" fill="none" stroke="#000" stroke-width="5"/>
                  <line id="Line_2" data-name="Line 2" x2="30.75" transform="translate(304.25 42.5)" fill="none" stroke="#000" stroke-width="5"/>
                  <line id="Line_3" data-name="Line 3" x2="30.75" transform="translate(304.25 52.5)" fill="none" stroke="#000" stroke-width="5"/>
                </g>
              </svg>            
            </button>
            <div class="nav__right-sec-nav-wraper">
              <ul class="nav__right-sec-nav">
                <img src="./src/images/logo-dark.png" class="sidebar-logo" alt="logo"/>
                <li><a href="/">Home</a></li>
                <li><a href="/menu">Menu</a></li>
                <li><a href="#footer">Locations</a></li> 
                <li><a href="#footer">Contact Us</a></li> 
              </ul>
            </div>
          </div>
        </div>
      </nav>
      <div class="sidebar--overlay" id="sidebar--overlay"></div>

      <!-- hero  -->
      <section>
        <div class="hero">
          <div class="custom--container">
            <div class="hero__content">
              <div class="hero__heading">
                <div>THE CAFFEE</div>
              </div>
              <p class="hero__para para-spacer">
                Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor 
                incididunt ut labore et dolore magna aliqua. Ut enim
              </p>
              <button class="btn">our menu</button>
            </div>
          </div>
        </div>
      </section>

      <!-- our products -->
      <section>
        <div class="ourProducts section-spacer">
          <div class="">
            <!-- top  -->
            <div class="ourProducts__top">
              <div class="custom--container">
                <div class="ourProducts__top-info">
                  <h1 class="ourProducts__top-info-heading section-main-heading">
                    best products from all around the world
                  </h1>
                  <p class="ourProducts__top-info-para para-spacer">
                    Lorem ipsum dolor sit amet, consectetur adipiscing elit, 
                    sed do eiusmod tempor incididunt ut labore et dolore magnaLorem 
                    ipsum dolor sit amet, consectetur adipiscing elit, sed do
                  </p>
                  <button class="btn">Our Menu</button>
                </div>
              </div>
              <div class="ourProducts__top-ref-img-wraper">
                <div class="ourProducts__top-ref-img">
                  <img src="./src/images/ourProducts-ref-img.png" alt="ref image"/>
                </div>                
              </div>
            </div>
            <!-- bottom  -->
            <div class="ourProducts__bottom custom--container">
              <div class="ourProducts__bottom-top">
                <h1 class="section-main-heading ourProducts__bottom-top-heading">our products</h1>
                <p class="ourProducts__bottom-top-para para-spacer">
                  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, 
                  sed diam nonumy eirmod tempor invidunt
                </p>
              </div>
              <div class="ourProducts__bottom-bottom">
                <div class="ourProducts__bottom-bottom-items">
                  <div class="swiper-container">
                    <div class="swiper-wrapper">
                      <div class="swiper-slide item">
                        <img src="./src/images/ourProducts-bevarages.png" alt="item img"/>
                      </div>
                      <div class="swiper-slide item">
                        <img src="./src/images/ourProducts-pastries.png" alt="item img"/>
                      </div>
                      <div class="swiper-slide item">
                        <img src="./src/images/ourProducts-coffee.png" alt="item img"/>
                      </div>
                      <div class="swiper-slide item">
                        <img src="./src/images/ourProducts-pastries.png" alt="item img"/>
                      </div>
                    </div>
                  </div>
                  <div class="carousel-btns">
                    <div class="carousel-btn prevBtn" id="ourProducts-prev">
                      <svg xmlns="http://www.w3.org/2000/svg" width="69.119" height="69.119" viewBox="0 0 69.119 69.119">
                        <g id="Group_1040" data-name="Group 1040" transform="translate(2974.001 -2545.999)">
                          <circle id="Ellipse_3" data-name="Ellipse 3" cx="34.56" cy="34.56" r="34.56" transform="translate(-2974.001 2545.999)" fill="#1b5d40"/>
                          <path id="Path_362" data-name="Path 362" d="M0,12.8,12.8,0,25.6,12.8" transform="translate(-2945.521 2593.676) rotate(-90)" fill="none" stroke="#fff" stroke-width="10"/>
                        </g>
                      </svg>                    
                    </div>
                    <div class="carousel-btn nextBtn" id="ourProducts-next">
                      <svg xmlns="http://www.w3.org/2000/svg" width="69.119" height="69.119" viewBox="0 0 69.119 69.119">
                        <g id="Group_1043" data-name="Group 1043" transform="translate(4325.365 -6368.94)">
                          <g id="Group_1042" data-name="Group 1042" transform="translate(-7230.247 8984.059) rotate(180)">
                            <circle id="Ellipse_3" data-name="Ellipse 3" cx="34.56" cy="34.56" r="34.56" transform="translate(-2974.001 2545.999)" fill="#1b5d40"/>
                            <path id="Path_362" data-name="Path 362" d="M0,12.8,12.8,0,25.6,12.8" transform="translate(-2945.521 2593.676) rotate(-90)" fill="none" stroke="#fff" stroke-width="10"/>
                          </g>
                        </g>
                      </svg>                    
                    </div>
                  </div>
                </div>
              </div>
          </div>
        </div>
        
      <!-- about us section  -->
      </section>
        <div class="aboutUs section-spacer">
          
          <div class="paper-effect-top-wraper">
            <img src="./src/images/paper-effect.svg" class="paper-effect"/>            
          </div>
          <div class="paper-effect-bottom-wraper">
            <img src="./src/images/paper-effect-bottom.svg" class="paper-effect"/>            
          </div>

          <div class="custom--container">
            <div class="aboutUs__row aboutUs__row-left" id="aboutUs__row1">
              <div class="aboutUs__row-img">
                <img src="./src/images/aboutUs-row1.png" alt ="about us img"/>
              </div>
              <div class="aboutUs__row-texts">
                <h2 class="aboutUs__row-texts-heading">
                  We started The Caffee In <span class="aboutUs-highlight">1998</span>
                </h2>
                <p class="aboutUs__row-texts-para">
                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, 
                  sed do eiusmod tempor incididunt ut labore et dolore magnaLorem 
                  ipsum
                </p>
              </div>
            </div>

            <div class="aboutUs__row-divide-line"></div>           

            <div class="aboutUs__row aboutUs__row-center" id="aboutUs__row2">
              <div class="aboutUs__row-img">
                <img src="./src/images/aboutUs-row2.png" alt ="about us img"/>
              </div>
              <div class="aboutUs__row-texts">
                <h2 class="aboutUs__row-texts-heading">
                  Trying <span class="aboutUs-highlight">our</span> Best 
                </h2>
                <p class="aboutUs__row-texts-para">
                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, 
                  sed do eiusmod tempor incididunt ut labore et dolore magnaLorem 
                  ipsum dolor sit amet
                </p>
              </div>
            </div>

            <div class="aboutUs__row-divide-line"></div>      

            <div class="aboutUs__row aboutUs__row-right" id="aboutUs__row3">
              <div class="aboutUs__row-img">
                <img src="./src/images/aboutUs-row3.png" alt ="about us img"/>
              </div>
              <div class="aboutUs__row-texts">
                <h2 class="aboutUs__row-texts-heading">Making A <span class="aboutUs-highlight">Difference</span></h2>
                <p class="aboutUs__row-texts-para">
                  Lorem ipsum dolor sit amet, consectetur adipiscing elit, 
                  sed do eiusmod tempor incididunt ut labore et dolore magnaLorem 
                  ipsum dolor sit amet, consectetur adipiscing elit, sed do
                </p>
              </div>
            </div>
          </div>
        </div>
      </section>
      <!-- testimonals  -->
      <section>
        <div class="testimonials">
          <div class="section-spacer custom--container">
            <div class="testimonials__top">
              <h1 class="testimonals__heading section-main-heading">Testimonials</h1>
            </div>

            <div class="testimonials__bottom">
              <div class="testimonials__bottom-testimonials">
                <div class="swiper-testimonial">
                  <div class="swiper-wrapper para-spacer">
                    <div class="testimonials__bottom-testimonial-wraper swiper-slide">
                      <p class="testimonials__bottom-testimonial">
                        Lorem ipsum dolor sit amet, consectetur adipiscing elit,
                        sed do eiusmod tempor incididunt ut labore et dolore 
                        magnaLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
                      </p>
                      <div class="testimonials__bottom-testimonial-reviewer">alex matt</div>
                    </div>
                    <div class="testimonials__bottom-testimonial-wraper swiper-slide">
                      <p class="testimonials__bottom-testimonial">
                        Lorem ipsum dolor sit amet, consectetur adipiscing elit,
                        sed do eiusmod tempor incididunt ut labore et dolore 
                        magnaLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
                      </p>
                      <div class="testimonials__bottom-testimonial-reviewer">alex matt</div>
                    </div>
                    <div class="testimonials__bottom-testimonial-wraper swiper-slide">
                      <p class="testimonials__bottom-testimonial">
                        Lorem ipsum dolor sit amet, consectetur adipiscing elit,
                        sed do eiusmod tempor incididunt ut labore et dolore 
                        magnaLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
                      </p>
                      <div class="testimonials__bottom-testimonial-reviewer">alex matt</div>
                    </div>
                  </div>
                </div>
                <!-- btns  -->
                <div class="carousel-btn-wraper">
                  <div class="carousel-btn testimonials__carousel-btn prevBtn" id="testimonials-prevBtn">
                    <svg xmlns="http://www.w3.org/2000/svg" width="69.119" height="69.119" viewBox="0 0 69.119 69.119">
                      <g id="Group_1040" data-name="Group 1040" transform="translate(2974.001 -2545.999)">
                        <circle id="Ellipse_3" data-name="Ellipse 3" cx="34.56" cy="34.56" r="34.56" transform="translate(-2974.001 2545.999)" fill="#1b5d40"/>
                        <path id="Path_362" data-name="Path 362" d="M0,12.8,12.8,0,25.6,12.8" transform="translate(-2945.521 2593.676) rotate(-90)" fill="none" stroke="#fff" stroke-width="10"/>
                      </g>
                    </svg>                    
                  </div>
                  <div class="carousel-btn nextBtn testimonials__carousel-btn" id="testimonials-nextBtn">
                    <svg xmlns="http://www.w3.org/2000/svg" width="69.119" height="69.119" viewBox="0 0 69.119 69.119">
                      <g id="Group_1043" data-name="Group 1043" transform="translate(4325.365 -6368.94)">
                        <g id="Group_1042" data-name="Group 1042" transform="translate(-7230.247 8984.059) rotate(180)">
                          <circle id="Ellipse_3" data-name="Ellipse 3" cx="34.56" cy="34.56" r="34.56" transform="translate(-2974.001 2545.999)" fill="#1b5d40"/>
                          <path id="Path_362" data-name="Path 362" d="M0,12.8,12.8,0,25.6,12.8" transform="translate(-2945.521 2593.676) rotate(-90)" fill="none" stroke="#fff" stroke-width="10"/>
                        </g>
                      </g>
                    </svg>                    
                  </div>
                </div>
              </div>             
            </div>
          </div>
        </div>
      </section>
      <section>
        <div class="newsletter">
          <div class="custom--container section-spacer newsletter__content">
            <div class="newsletter__left">
              <h1 class="newsletter__heading section-main-heading">subscribe</h1>
              <h3 class="newsletter__subHeading">subscribe to our newsletter</h3>
              <p class="newsletter__para para-spacer">
                Lorem ipsum dolor sit amet, consetetur 
                sadipscing elitr, sed diam nonumy eirmod tempor invidunt
              </p>
            </div>
            <div class="newsletter__right">
              <form class="newsletter__form">
                <input type="text" class="newsletter__input" placeholder="ENTER YOUR EMAIL" name="newsletter__email" id="newsletter__input"/>
                <button class="newsletter__btn" type="submit" id="newsletter__submit">Subscribe</button>
              </form>
      

Copyright Info

© Copyright 2013-2021 admin@qa.1r1g.com

如未特别说明,本网站的内容使用如下协议:
Creative Commons Atution-NonCommercial-ShareAlike 4.0 International license
.

用以下方式浏览
回到顶部