• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem przy korzystaniu z Webpacka

Object Storage Arubacloud
+3 głosów
225 wizyt
pytanie zadane 26 sierpnia 2021 w JavaScript przez krissto7 Gaduła (3,100 p.)

Witam , przy tworzeniu projektu z reactem i korzystając z webpacka napotkałem na pewien problem, polega on na tym , że w plikach scss korzystam z metody:

background-image: url('../../public/assets/flag.svg');

Użycie tej metody powoduje , że przy kompilacji kodu poprzez webpack to otrzymuje coś takiego jak na screenie

Wszystko fajnie działa , ale gdy to tego użyje file-loadera do zdjęć, tak jak na screenie:

 

Użycie file-loadera powoduje , że link do tego zdjęcia tak jak na pierwszym screenie się nie zmienia , ale z jakiegoś powodu zdjęcie się nie wczytuje... nie mam pojęcia z jakiego powodu , doszedłem do tego , że właśnie błąd występuje tylko kiedy używam file-loadera do zdjęć. W codepen załączam całą konfiguracje webpacka. Z góry dzięki za pomoc :)

https://codepen.io/krzysi0x2/pen/VwWLzbR?editors=1010

1 odpowiedź

+1 głos
odpowiedź 27 sierpnia 2021 przez mb-dir Mądrala (6,710 p.)

Witaj, mógłbyś wstawić całą strukture projektu? Czy podczas bundlingu występuje jakiś błąd? Błąd ten występuje nawet wtedy gdy w url umieszczasz adres url do obrazka z internetu(np "

https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png

")?

Pamiętam, że kiedys miałem podobny problem, jego przyczyną było to, że do background-image przekazywałem ścieżke prowadzącą do tła, ale względem pliku scss, a nie względem dist(z tego co widze w twoim przypadku build), mając strukture plików taką jak poniżej url, który był błędny wyglądał tak: ./../../assets/pobrane.jpg - czyli od _base.css(bo to w nim stosowałem background-image) wychodziłem w góre do assets/pobrane.jpg, gdy zmieniłem url na: ./../assets/pobrane.jpg" czyli wychodziłem od folderu dist(w którym są zbundlowane pliki) do assets/pobrane.jpg wszystko działało. Jednak gdy przekazywałem pierwszą ścieżke webpack wypluwał mi błąd "Module not found: Error: Can't resolve './../../assets/pobrane.jpg", ty nic o błędzie nie pisałeś, więc jest to troche slepy strzał.

 

 

Szukając odpowiedzi w innych źródłach niż własne doświadczenie, znalazłem wątek na stackoverflow(click), który wydaje sie opisywac twój problem.

komentarz 27 sierpnia 2021 przez krissto7 Gaduła (3,100 p.)

Dla objaśnienia rozrysowałem to w paincie wraz ze strukturą plików.

link do zdjęcia: https://ibb.co/q100wKh , bo tutaj mało widać.

Jak widać file-loader generuje dodatkowo w strukturze 2 takie same pliki, tylko nazywa je name: '[name]-[contenthash].[ext]', tak jak podano w konfiguracji, jednak te pliki i tak są ignorowane i nie są używane , bo jak widać na screenach url jest taki sam i dodatkowo widać , że pliki z urla znajdują się w strukturze plików , a mimo wszystko jest błąd.

1. Użycie ścieżki do jakiegoś zdjęcia z internetu nie powoduje problemu ponieważ , ten plik w takim przypadku nie jest objęty file-loaderem wiec nie ma problemu.

2. Nie mogę zmienić ścieżki url w scss ponieważ w takim przypadku wypluwa mi błąd , tak więc obecna ścieżka jest poprawna.

 

komentarz 27 sierpnia 2021 przez mb-dir Mądrala (6,710 p.)
Niestety nie jestem w stanie pomóc, jedyne co moge doradzić, to wpisywanie w google fraz typu "file-loader background-image doesn't work", "webpack file-loader does not load background image" itp. Jak znajdziesz rozwiązanie, to jeżeli możesz opisz je, nie ukrywam, że troche mnie twój problem zainteresował. No i jak masz ten projekt gdzies na githubie, to podlinkuj, sklonuje i coś popróbuje
komentarz 27 sierpnia 2021 przez krissto7 Gaduła (3,100 p.)
Nie pisałbym tutaj na forum gdybym wcześniej nie zrobił resarchu i nie próbował czegoś sam zrobić. Niby coś jest na necie , ale nie daje rezultatu jaki chciałbym uzyskać, może coś źle robię... Liczyłem na to , że może ktoś miał podobny problem i jest w stanie mi pomóc. Dzięki za zainteresowanie.

Podobne pytania

0 głosów
1 odpowiedź 197 wizyt
pytanie zadane 6 września 2017 w JavaScript przez betman Bywalec (2,630 p.)
+1 głos
1 odpowiedź 436 wizyt
pytanie zadane 6 maja 2020 w JavaScript przez Klik Obywatel (1,540 p.)
0 głosów
0 odpowiedzi 104 wizyt
pytanie zadane 2 maja 2018 w JavaScript przez ShiroUmizake Nałogowiec (46,300 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...