Изображения не будут загружаться после сборки при использовании React с Electron - PullRequest
0 голосов
/ 25 февраля 2020

Я разрабатываю приложение, используя React и Electron.

Я храню изображения в src/assets/images. Когда я запускаю приложение в разработке, используя react-scripts start и electron ., все работает нормально.

Проблема возникает, когда приложение реакции создается с использованием react-scripts build. Когда загружен первый вид, путь корректно разрешен, например file:///D:/Projects/app-name/build/static/media/logo.e99ed458.png, и отображается изображение.

Теперь, когда маршрут меняется, изображение больше не работает. На вкладке сети в devTools URL запроса - file:///D:/main/static/media/logo.e99ed458.png, что, очевидно, неверно.

Это мой код компонента:

import React from "react";
import Logo from '../../assets/images/ad.png';

const Logo = () => {
    return (
        <React.Fragment>
            <img src={Logo} alt="no image" />
        </React.Fragment >
    );
};

export default Logo;

И в electron.js

mainWindow.loadURL(url.format({
    protocol: 'file',
    slashes: true,
    pathname: require('path').join(__dirname, '../build/index.html')
}));

Я пытался решить эту проблему уже два дня. Кто-нибудь знает решение?

РЕДАКТИРОВАТЬ:

Я также пытался использовать PUBLIC_URL в соответствии с https://create-react-app.dev/docs/using-the-public-folder/

Но результат тот же, Путь разрешается правильно, когда отображается первый вид, и после этого он разрешается в file:///D:/assets/images/logo.png.

Когда я регистрирую process.env.PUBLIC_URL, он говорит, что PUBLIC_URL равно ".".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...