создать приложение react, не загружающее фоновые изображения css в dev или build

у меня возникли трудности с некоторыми фоновыми изображениями, которые не загружаются. Я внес некоторые существенные изменения в первоначальное приложение create react, моя структура папок теперь выглядит следующим образом:

примечание: Я опустил некоторые файлы и папки, если вам нужно больше, пожалуйста, дайте мне знать.

App/
 node_modules/
 src/
  client/
   build/
   node_modules/
   public/
   src/
    css/
     App.css
    images/
     tree.png
     yeti.png
    App.jsx
  server/
 package.json
 Procfile

вот шаги, которые я предпринимаю для создания этой проблемы:

$ cd src/server && npm run dev

это загрузит сервер dev и откроет браузер для моего приложения, все это работает нормально, за исключением некоторых элементов на странице не отображается изображение.

Примечание: я загружаю изображение йети.формат PNG и это делает прекрасно.

App.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import './css/App.css';
import yeti from './images/yeti.png';

const Footer = function(props) {
  return (
    <div>
      <Yeti />
      <Trees />
    </div>
    );
};

const Yeti = function(props) {
  return (        
      <img
        src={yeti}
        className="yeti yeti--xs"
        alt="Yeti"
      />
    );
};

const Trees = function(props) {
  return (        
      <div className="trees">
        <div className="trees__tree trees__tree--1"></div>
        <div className="trees__tree trees__tree--2"></div>
      </div>
    );
};

ReactDOM.render(
  <Footer />,
  document.getElementById('root')
);

App.в CSS

.trees {
    bottom: 0;
    height: 110px;
    left: 0;
    position: fixed;
    width: 100%;
    z-index: 1;
}

.trees__tree {
    background-size: 30px;
    background: url('../images/tree.png') no-repeat;
    float: left;
    height: 50px;
    width: 30px;
}

.trees__tree--1 {
    margin: 0 0 0 6%;
}

.trees__tree--2 {
    margin: 2% 0 0 4%;
}

когда я проверяю элементы в Chrome, путь к изображениям кажется правильным. Когда я наведу курсор на путь к изображению на вкладке стили моего инспектора, изображение кажется.

styles source

обратите внимание, что путь для импортируемого изображения аналогичен пути для фонового изображения:

enter image description here

если бы я импортировал tree.png as import tree from './images/tree.png'; и изменить мои два <div> элементов <img src={tree} role="presentation" className="trees__tree trees__tree--1" /> и <img src={tree} role="presentation" className="trees__tree trees__tree--2" /> изображения будут нагрузки конечно.

как я могу получить фоновые изображения для отображения? У меня есть другие фоновые изображения в приложении, которые не являются загрузка, поэтому ранее упомянутый bandaid мне не поможет. Я боюсь извлечь свое приложение и испортить конфигурацию.

у меня также есть та же проблема, когда я создаю приложение.

Если вам нужно увидеть больше источника, вы можете просмотреть его вhttps://github.com/studio174/ispellits но, имея в виду, я упростил этот пример, чтобы изолировать проблему. Проблема, которая у меня есть, на самом деле в Footer.jsx и Footer.css

2 ответов


проблема была чисто проблемой с CSS в :

App.в CSS

.trees__tree {    
    background: url('../images/tree.png') no-repeat;
    background-size: 30px; /** moved this property down */
    float: left;
    height: 50px;
    width: 30px;
}

моя проблема заключалась в том, что у меня не было background-size: 30px; определенными. Спасибо за это.