LINUX.ORG.RU

js и фронт.

 , ,


0

2

стильно, модно, молодежно. фронт.

чего хочу: чтоб фронт на одном серванте, бэк на другом, nginx проксил.

проблема: например у меня react и даже react-boilerplate. npm start выполняет какой-то фокус и все как будто работает до тех пор пока от фронта (frontIp) я не хочу сказать get или post к бэку (backIp).

решение плохое: я могу сказать npm run build, собрать все вэбпаком и пустить внешний nginx, с проксированием, но это прям геморрой же.

вопрос: как получить решение хорошее, чтоб поправил файло, оно там как-то само пересобралось, но работало не из потрохов node server, а из-под nginx и запросы таки ходили бы?

Перемещено leave из development

★★★★

Последнее исправление: Rastafarra (всего исправлений: 1)

или че, надо поднять ноду, рядом поднять nginx и с 80-го гнать на 3000...?

и ниже второй прокси на backIp

так что ли...?

Rastafarra ★★★★
() автор топика
Последнее исправление: Rastafarra (всего исправлений: 1)

тебе просто в конфигах проекта надо настроить проксирование запросов из нодовского http на свой бэкенд

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

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

проксирование запросов из нодовского http на свой бэкенд

ну чета нет такого слова там... ман?

нахрена при девелопе в этой кухне тебе нжинкс?

без него не проксируется :(

Rastafarra ★★★★
() автор топика

Хм... ну вот расхреначить ассеты и скрипты по разным серверам для тебя не проблема, а в nginx прокси прописать неподъемная задача :) ?

вопрос: как получить решение хорошее, чтоб поправил файло, оно там как-то само пересобралось, но работало не из потрохов node server, а из-под nginx и запросы таки ходили бы?

Моя плоха панимать твой руски. Поставь nginx, подними на нем кеш, а у ассетов в имена добавляй контрольную сумму. Если твой кнопелятор ассетов генерит файлы с одними и теми же именами - выкинь его.

Vit ★★★★★
()
Ответ на: комментарий от Vit

не, вся проблема была в build, долго же.

теперь да, nginx висит, проксит.

я просто несколько удивился что нынче все не так просто.

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от Rastafarra

Можно сделать CLI-шную тулзу, которая будет обновлять ассеты и манифест. Тогда рестарт самого сервера будет быстрый.

Если для отладки, то можно отключить углификацию, она очень тяжелая.

Можно еще побить бандл на части. Тогда будет перестраиватся только нужный, если у тебя билдер вменяемый.

Vit ★★★★★
()
Ответ на: комментарий от Rastafarra

Я б сам хотел хороший фронт. Но в жыэсовской кухне пока методологий не хватает. Либо такие ынтырпрайзы, что сдохнешь при попытке объять разумом.

https://github.com/nodeca/mincer - мы сначала вот это тащили. Потом выяснилось, что подход из девяностых работает хреново. В итоге оттуда тупо выдрали принцип инкрементальной сборки а остальную логику похардкодили. Типа не фреймворк, сто раз приложение менять никто не будет.

Посмотри какой-нибудь «борщик» от яндексовского бема. Если в его концепцию впишешься, должно быть хорошо по идее.

Vit ★★★★★
()
Ответ на: комментарий от Vit

Так чем не угодил webpack с хот-релоадом? Стартует он один раз, дальше сам пересобирает в памяти, а для прода пускай CI собирает.

static_lab ★★★★★
()
Ответ на: комментарий от Rastafarra

У нас как раз микросервисная архитектура, где фронт на одном сервере, бэки на других и всё это в докеровских контейнерах на mesos/marathon, а nginx как раз балансирует.

static_lab ★★★★★
()

Что же касается основных вопросов, то вы хотите чего-то странного.

static_lab ★★★★★
()
Ответ на: комментарий от emptykiev

Мы для такого как раз проксируем через фронт-сервер, поскольку во-первых, для разных окружений может требоваться доступ к разным API-серверам, во-вторых, светить API-сервер в интернет не всегда хорошо, а в-третьих, на всех серверах не сделаешь Access-Control-Allow-Origin: *.

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

да, знаю. сам использовал http-proxy раньше для этого, но я о том что тс надо понять суть чего он хочет сделать а потом уже выбрать как)

emptykiev
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.