2017-02-15 8 views
0

я установки приложения с помощью создания Реагировать приложения, который должен быть развернут на сервере, где приложение работает Унтер тракту псевдоним, т.е.React/Webpack: как преобразовать относительные URL-адреса ресурсов, если сборка производится под псевдонимом?

http://server.com/alias/

вместо

http://server.com

Я также использую Redux версию React Router. Моя проблема в том, что URL-адреса изображений неверно переведены. Если я использую абсолютные пути, изображения не будут найдены, так как сервер ищет их под root. Если я использую относительные пути, изображения не будут найдены, если React Router изменяет URL-адрес, чтобы указать на более глубокое местоположение, чем/alias, например./Псевдоним/поиск.

После выполнения «извлечения» для приложения Create React, я увидел, что я могу установить «домашнюю страницу», используя package.json. Это решило проблему, что Webpack должен правильно настроить псевдоним, включая файлы JavaScript и CSS на главной странице индекса.

Но эта опция не сообщит React о применении псевдонима к ресурсам, которые включены в ссылки. Есть ли какой-либо плагин, который скажет React, чтобы добавить мой псевдоним ко всем ссылкам без необходимости их жесткого кодирования в коде React?

Плюс, я еще не мог найти вариант, чтобы сообщить React Router, что он также должен использовать псевдоним для всех ссылок. На данный момент я устанавливаю их жестко закодированными в маршрутах. Это прекрасно работает, бит также не оптимален.

ответ

0

При строительстве для производства установить publicpath опцию под выходные свойства

module.exports = { 
    //.... 
    output : { 
     publicPath: "/alias/" 
    } 
    // additional configuration 
}; 
+0

Спасибо за ваш ответ. Это то, что уже устанавливает homePath of React Create App. Однако это только преобразует пути для включения мини-файлов .js и .css в index.html. Он * не * преобразует любые URL-адреса (изображения, шрифты), указанные в моих компонентах, и не сообщает ReactRouter, что маршруты расположены под псевдонимом. – waldgeist