zoukankan      html  css  js  c++  java
  • react里面引入图片

    引入图片确实走了很多的坑,开始的认知里,所有静态页面都需要放在public里面能执行,代码是这样的

    css

    .back{
        background-image: url('/images/homeBackImg.png');
    }

    图标路径

    my-app
    ├── README.md
    ├── node_modules
    ├── package.json
    ├── .gitignore
    ├── public
    │   └── images
    │         └── homeBackImg.png
    │   └── favicon.ico
    │   └── index.html
    │   └── manifest.json
    └── src
        └── App.css
        └── App.js
        └── App.test.js
        └── index.css
        └── index.js
        └── logo.svg
        └── registerServiceWorker.js    

    自己本地开发也可以,服务里面也可以用,爽歪歪

    但是

    发布到自己服务器的时候,img找不到了,404,打开浏览器访问地址是这样的

    http://xxx.com/images/homeBack.png

    但是打包好的image是在build里面,这样就可以访问

    http://xxx.com/build/images/homeBack.png

    但是要怎么才能在build的时候,自动让业务里面的路径变成url('./iamges.homeBack.png')呢,而且package.json里面已经设置了

    "homepage": ".",但只会改变首页的路径,业务里面并不会去改,所以访问不到
     
     
    后面可以通过这个方式去,把image放在src里面,业务里面用相对路径,在build的时候,会自动编译成绝对路径访问
    css
    .back{
        background-image: url('../../images/homeBackImg.png');
    }

    图片路径

    my-app
    ├── README.md
    ├── node_modules/
    ├── package.json
    ├── .gitignore
    ├── public/
    │   └── favicon.ico
    │   └── index.html
    │   └── manifest.json
    └── src/
        └── images/
              └── homeBackImg.png
        └── common/
        └── component/
        └── index.css
        └── index.js
        └── logo.svg
        └── registerServiceWorker.js   
  • 相关阅读:
    swiper-wrapper轮滑组件(多组轮滑界面)间隔无效问题
    jquery .play()报错is not a function
    html 表单input disabled属性提交后台无法获得数据
    git报错:Auto Merge Failed; Fix Conflicts and Then Commit
    js 获取转换网址中文参数
    day36 作业
    day38 并发编程(理论)
    day35 作业
    day36 解决粘包问题
    day35 socket套接字介绍
  • 原文地址:https://www.cnblogs.com/wzndkj/p/9024890.html
Copyright © 2011-2022 走看看