Я только что развернул свой сайт Vite React, но мои значки/изображения не развернуты

Я развернул свой сайт Vite React на Netlify, но значки моих навыков не отображаются!! Вот сайт.. Я выполнил сборку npm run перед развертыванием, я получил папку dist и развернул ее на Netlify. Но сначала в папке с ресурсами не было значков, поэтому я добавил их и в папку с ресурсами (папки dist), но безуспешно! Пожалуйста помоги.

Я хочу отобразить значки навыков на своем сайте-портфолио.

Не могли бы вы предоставить ссылку на репо, пожалуйста?

MarioG8 25.12.2022 10:00
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
3
2
118
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам нужно переместить ваш каталог assets в каталог public, и вам нужно удалить ./src из исходного пути различных файлов img. Что-то вроде:

{
    id: 1,
    icon: "/assets/html5.svg",
    iconName: "HTML",
},

Спасибо, это сработало на моем локальном хосте, но не на моем развернутом сайте... mjshubham21.live мысли?? консоль говорит "Не удалось загрузить ресурс: сервер ответил со статусом 404 ()" для значков...

mjshubham21 25.12.2022 12:53

Ссылаясь на Viteдокументацию, вы должны поместить свои файлы ресурсов напрямую в папку public.

Заметить, что:

Вы всегда должны ссылаться на общедоступные ресурсы, используя абсолютный корневой путь - например, на public/icon.png следует ссылаться в исходном коде как /icon.png.

структура папок и файлов:


Skills.jsx (значки)

import React from "react";
// import Skill from "./Skill";

function Skills() {
  return (
    <>
      <section className = "skills">
        <div className = "card">
          <div className = "content">
            <img className = "skillIcon" src = "/html5.svg" alt = "Icon" />
            <p className = "skillName">HTML</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/css3.svg" alt = "Icon" />
            <p className = "skillName">CSS3</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/js.svg" alt = "Icon" />
            <p className = "skillName">JavaScript</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/react.svg" alt = "Icon" />
            <p className = "skillName">ReactJs</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/mongodb.svg" alt = "Icon" />
            <p className = "skillName">MongoDB</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/express.svg" alt = "Icon" />
            <p className = "skillName">ExpressJs</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/github.svg" alt = "Icon" />
            <p className = "skillName">GitHub</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/node.svg" alt = "Icon" />
            <p className = "skillName">NodeJs</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/password.svg" alt = "Icon" />
            <p className = "skillName">Authentication</p>
          </div>
          <div className = "content">
            <img className = "skillIcon" src = "/api.svg" alt = "Icon" />
            <p className = "skillName">API</p>
          </div>
        </div>
      </section>
    </>
  );
}

export default Skills;

Введение.jsx (hero.gif)

import React from "react";
import hero from "/hero.gif";
function Intro() {
  return (
    <>
      <main>
        <section id = "intro" className = "hero">
          <div className = "heroText">
            <p className = "topData">Hey, I'm</p>
            <h1 className = "title">Shubham Pawar</h1>
            <p className = "heroData">I'm a MERN stack Developer.</p>
            <button className = "btn">Contact Me</button>
            <button className = "btn">Resume</button>
          </div>
          <div className = "heroImg">
            <img className = "heroGif" src = {hero} alt = "hero img" />
          </div>
        </section>
      </main>
    </>
  );
}

export default Intro;

Footer.jsx (иконки)

import React from "react";

function Footer() {
  return (
    <>
      <footer className = "Footer">
        <div className = "footer-right">
          <a href = "#"></a>
          <a href = "#">
            <img className = "footerIcon" src = "/linkedin2.png" alt = "linkedIn" />
          </a>
          <a href = "#">
            <img className = "footerIcon" src = "/github2.png" alt = "GitHub" />
          </a>
          <a href = "#">
            <img className = "footerIcon" src = "/instagram.png" alt = "Instagram" />
          </a>
          <a href = "#">
            <img className = "footerIcon" src = "/twitter.png" alt = "Twitter" />
          </a>
        </div>

        <div className = "footer-left">
          <p className = "footer-links">
            <a className = "link-1" href = "#">
              Home
            </a>

            <a href = "#about">About</a>

            <a href = "#contact">Contact</a>
          </p>
          <p>
            @mjshubham21 Copyright &copy; {new Date().getFullYear()} All Rights
            Reserved.
          </p>
        </div>
      </footer>
    </>
  );
}

export default Footer;

Вывод в браузере:

Спасибо, это сработало на моем локальном хосте, но не на живом сайте... mjshubham21.live

mjshubham21 25.12.2022 12:55

@mjshubham21 Вы уверены? :-) Я вижу иконки...:-P

MarioG8 28.12.2022 11:12

Да исправили...

mjshubham21 28.12.2022 13:23

Другие вопросы по теме