|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
15.07.2024, 19:49
|
Аспирант
|
|
Регистрация: 09.12.2021
Сообщений: 95
|
|
Дайте-ка подумать, чем же обычный хостинг отличается от VPS... Хммм... Вы конечно посчитаете что у меня "не все дома" интернет-магазин на реакте, да на обычный хостинг. Но тут я хочу разобраться как это сделать именно с обычным хостингом.
Сообщение от Nexus
|
Ну, если не разбираетесь, попробуйте разобраться, документацию хотя бы почитать. Там глядишь и вопрос про чанки отпадет, и деплоить научитесь.
|
Было бы замечательно если бы документация писалась для людей которые не разбираются. Копаться в документации без определённых знаний, то же что иголку в стоге сена искать.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
15.07.2024, 20:23
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,783
|
|
Сообщение от Raadsert
|
Дайте-ка подумать, чем же обычный хостинг отличается от VPS... Хммм...
|
Вам дать ссылку на запрос «how to deploy react app on shared hosting» или вы сами справитесь с задачей?
Сообщение от Raadsert
|
Было бы замечательно если бы документация писалась для людей которые не разбираются.
|
Пожалуйста, соседняя ссылка в меню сайта react.dev: https://react.dev/learn - для людей, которые не разбираются в react и, возможно, едва ли знакомы вообще с js, ибо ссылки на mdn встречаются с завидной регулярностью.
А вот ссылка на учебник по js сразу на русском языке: https://learn.javascript.ru/intro
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
15.07.2024, 20:52
|
Аспирант
|
|
Регистрация: 09.12.2021
Сообщений: 95
|
|
Сообщение от Nexus
|
Вам дать ссылку на запрос «how to deploy react app on shared hosting» или вы сами справитесь с задачей?
|
Хорошо, тогда возможно у вас найдётся и правильный запрос который поможет ответить на вопрос "Как разделить файл main.js для каждой страницы? Чтоб по адресу /page-1 загружалась только та часть кода которая нужна для /page-1"?
Спасибо, оставьте себе.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
15.07.2024, 21:44
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,783
|
|
Сообщение от Raadsert
|
"Как разделить файл main.js для каждой страницы? Чтоб по адресу /page-1 загружалась только та часть кода которая нужна для /page-1"?
|
Как-то так:
import React from 'react';
const Page1 = React.lazy(() => import('./Page1.tsx'));
const Page2 = React.lazy(() => import('./Page2.tsx'));
export default function App() {
const pathname = location?.pathname;
let PageComponent: any | null = null;
if (pathname === '/page-1') {
PageComponent = Page1;
}
if (pathname === '/page-2') {
PageComponent = Page2;
}
if (!PageComponent) {
return <>Main page</>;
}
return <React.Suspense fallback={<>Loading...</>}>
<PageComponent/>
</React.Suspense>;
}
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
15.07.2024, 22:05
|
Аспирант
|
|
Регистрация: 09.12.2021
Сообщений: 95
|
|
Сообщение от Nexus
|
Как-то так:
import React from 'react';
const Page1 = React.lazy(() => import('./Page1.tsx'));
const Page2 = React.lazy(() => import('./Page2.tsx'));
export default function App() {
const pathname = location?.pathname;
let PageComponent: any | null = null;
if (pathname === '/page-1') {
PageComponent = Page1;
}
if (pathname === '/page-2') {
PageComponent = Page2;
}
if (!PageComponent) {
return <>Main page</>;
}
return <React.Suspense fallback={<>Loading...</>}>
<PageComponent/>
</React.Suspense>;
}
|
Выглядит как костыль
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
15.07.2024, 23:08
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,783
|
|
Сообщение от Raadsert
|
Выглядит как костыль
|
Это просто пример того, как можно разбить приложение на чанки. По хорошему тут вместо if-else нужно использовать роутер.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
16.07.2024, 10:06
|
![Аватар для ksa](https://javascript.ru/forum/image.php?u=8616&dateline=1282216923) |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,196
|
|
Сообщение от Raadsert
|
Это всё отлично работает при тестах на локалке, а если скомпилированный (run build) проект закинуть на хостинг - ссылочная навигация работать не будет(переход по прямой ссылке на условную страницу оплаты вернёт 404).
|
Это уже все зависит от настроек того "хостинга"...
Нужно чтобы на запросы "определенного типа" хостинг отдавал только один файл...
Это же СПА.
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
16.07.2024, 10:08
|
![Аватар для ksa](https://javascript.ru/forum/image.php?u=8616&dateline=1282216923) |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,196
|
|
Raadsert, я конечно понимаю, что учить специалиста - только портить...
Но если спрашиваешь - так будь готов читать то, что будут писать в ответ.
Тут врагов нет...
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
16.07.2024, 16:36
|
Аспирант
|
|
Регистрация: 09.12.2021
Сообщений: 95
|
|
ksa, Nexus, А в целом что скажете, часто делают интернет-магазины на реакт? Хорошее ли решение делать магазин на реакте?
|
|
![Старый](/forum/images/ca_serenity/statusicon/post_old.gif)
17.07.2024, 11:13
|
![Аватар для ksa](https://javascript.ru/forum/image.php?u=8616&dateline=1282216923) |
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,196
|
|
Сообщение от Raadsert
|
часто делают интернет-магазины на реакт?
|
Без разницы на чем их делать...
Кто на чем умеет - на том и делает.
Сообщение от Raadsert
|
Хорошее ли решение делать магазин на реакте?
|
Ни чем не будет отличаться от любой другой реализации...
|
|
|
|