Size: a a a

Webpack — русскоговорящее сообщество

2020 October 01

А

Андрей in Webpack — русскоговорящее сообщество
basename то я указал
источник

А

Андрей in Webpack — русскоговорящее сообщество
Если это на разработке укажу publicPath: '/admin' то поломаются пути для разработки) Нужно два конфига заводить, продовский и для девелопа?

Или достаточно тернарником задать путь?
publicPath: isEnvProduction ? '/admin/' : '/',
источник

А

Андрей in Webpack — русскоговорящее сообщество
В настройках девСервера у меня указаны прокси. А как прокси эти использовать в продакшен сборке, ведь девсервер уже не будет работать и просирование не будет происходить?

devServer: {
   open: true,
   overlay: true,
   port: process.env.PORT,
   quiet: true,
   disableHostCheck: true,
   writeToDisk: true,
   historyApiFallback: true,
   proxy: {
     '/api': {
       target: process.env.PROXY_URL,
     },
     '/uploads': {
       target: process.env.PROXY_URL,
     },
   },
 },
источник

VP

Vasya Peregarkin in Webpack — русскоговорящее сообщество
Всем привет, во время билда продакшн сборки приложения на реакте возникает такая ошибка. Без докера всё ок. В чём может быть проблема?
источник

а

алекс in Webpack — русскоговорящее сообщество
Добавь node - - max_old_space_size=4096 в команду для билда
источник

EM

Evgeniy Mokeev in Webpack — русскоговорящее сообщество
Андрей
Если это на разработке укажу publicPath: '/admin' то поломаются пути для разработки) Нужно два конфига заводить, продовский и для девелопа?

Или достаточно тернарником задать путь?
publicPath: isEnvProduction ? '/admin/' : '/',
Ну естественно) во всех местах нужно одинаковое значение
Вообще как удобнее, можно еще через ENV переменную. Я бы наверное так сам сделал. Вдруг где-то еще понадобится
источник

EM

Evgeniy Mokeev in Webpack — русскоговорящее сообщество
Андрей
В настройках девСервера у меня указаны прокси. А как прокси эти использовать в продакшен сборке, ведь девсервер уже не будет работать и просирование не будет происходить?

devServer: {
   open: true,
   overlay: true,
   port: process.env.PORT,
   quiet: true,
   disableHostCheck: true,
   writeToDisk: true,
   historyApiFallback: true,
   proxy: {
     '/api': {
       target: process.env.PROXY_URL,
     },
     '/uploads': {
       target: process.env.PROXY_URL,
     },
   },
 },
Нужно конфигурировать nginx для прокси
Типа такого https://github.com/facebook/create-react-app/issues/1087#issuecomment-426916800
источник

А

Андрей in Webpack — русскоговорящее сообщество
Или проще положить фронт в папку с бекендом, типо /client и не нужно будет прокси делать?
источник

А

Андрей in Webpack — русскоговорящее сообщество
Это все запуститься на одном порту, а папку /client будет уже nest обсслуживать
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Андрей
В настройках девСервера у меня указаны прокси. А как прокси эти использовать в продакшен сборке, ведь девсервер уже не будет работать и просирование не будет происходить?

devServer: {
   open: true,
   overlay: true,
   port: process.env.PORT,
   quiet: true,
   disableHostCheck: true,
   writeToDisk: true,
   historyApiFallback: true,
   proxy: {
     '/api': {
       target: process.env.PROXY_URL,
     },
     '/uploads': {
       target: process.env.PROXY_URL,
     },
   },
 },
Ну прокси обычно только для дев и нужен
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Например у вас есть сайт
app.example.com где разворачивается приложение.

И есть точка входа для rest апи app.example.com/api/v2/users (отдельный бекенд который делает другая команда разработчиков).

В приложении есть переменная окружения process.env.API_GATE = app.examle.com/api/v2/
которая используется во всех запросах в апи
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Андрей
В настройках девСервера у меня указаны прокси. А как прокси эти использовать в продакшен сборке, ведь девсервер уже не будет работать и просирование не будет происходить?

devServer: {
   open: true,
   overlay: true,
   port: process.env.PORT,
   quiet: true,
   disableHostCheck: true,
   writeToDisk: true,
   historyApiFallback: true,
   proxy: {
     '/api': {
       target: process.env.PROXY_URL,
     },
     '/uploads': {
       target: process.env.PROXY_URL,
     },
   },
 },
Все работает замечательно в проде, но если вы запустите приложение локально - то запросы полетят с localhost домена на app.example.com, что будет являться кросс доменным запросом, и браузер такой запрос отклонит в общем случае
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Вот тут и вступает а игру прокси, который не имеет ограничений браузера, так что поменяв  process.env.API_GATE на /api приложение может ходить на свой же домен (localhost) где работает прокси
источник

В

Вадим in Webpack — русскоговорящее сообщество
Привет всем!

это нормально что runtime содержит список бандлов и соответственно при каждой сборке будет другим?
хотя он не версионируется (
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
Вадим
Привет всем!

это нормально что runtime содержит список бандлов и соответственно при каждой сборке будет другим?
хотя он не версионируется (
во-первых он должен версионироваться. во-вторых он не должен быть разным при каждой сборке
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Хешироваться
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
ну да, я ответил тем же словом просто
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
ну это можно считать версионированием - это ж разные версии файла)
источник

В

Вадим in Webpack — русскоговорящее сообщество
Roman Usherenko
во-первых он должен версионироваться. во-вторых он не должен быть разным при каждой сборке
по поводу версионирования был не прав
но вижу внутри имена чанков с хэшами - значит будет менятся с новой сборкой
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
будет меняться, если меняются другие чанки
источник