Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 15.07.2024, 19:49
Аспирант
Отправить личное сообщение для Raadsert Посмотреть профиль Найти все сообщения от Raadsert
 
Регистрация: 09.12.2021
Сообщений: 95

Сообщение от Nexus Посмотреть сообщение
Ну так и ведь и гуглится: how to deploy react app on vps, если даже какая-то инструкция на сайте CRA.
Дайте-ка подумать, чем же обычный хостинг отличается от VPS... Хммм... Вы конечно посчитаете что у меня "не все дома" интернет-магазин на реакте, да на обычный хостинг. Но тут я хочу разобраться как это сделать именно с обычным хостингом.

Сообщение от Nexus Посмотреть сообщение
Ну, если не разбираетесь, попробуйте разобраться, документацию хотя бы почитать. Там глядишь и вопрос про чанки отпадет, и деплоить научитесь.
Было бы замечательно если бы документация писалась для людей которые не разбираются. Копаться в документации без определённых знаний, то же что иголку в стоге сена искать.
Ответить с цитированием
  #12 (permalink)  
Старый 15.07.2024, 20:23
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 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
Ответить с цитированием
  #13 (permalink)  
Старый 15.07.2024, 20:52
Аспирант
Отправить личное сообщение для Raadsert Посмотреть профиль Найти все сообщения от Raadsert
 
Регистрация: 09.12.2021
Сообщений: 95

Сообщение от Nexus Посмотреть сообщение
Вам дать ссылку на запрос «how to deploy react app on shared hosting» или вы сами справитесь с задачей?
Хорошо, тогда возможно у вас найдётся и правильный запрос который поможет ответить на вопрос "Как разделить файл main.js для каждой страницы? Чтоб по адресу /page-1 загружалась только та часть кода которая нужна для /page-1"?

Сообщение от Nexus Посмотреть сообщение
А вот ссылка на учебник по js сразу на русском языке: https://learn.javascript.ru/intro
Спасибо, оставьте себе.
Ответить с цитированием
  #14 (permalink)  
Старый 15.07.2024, 21:44
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 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>;
}
Ответить с цитированием
  #15 (permalink)  
Старый 15.07.2024, 22:05
Аспирант
Отправить личное сообщение для Raadsert Посмотреть профиль Найти все сообщения от Raadsert
 
Регистрация: 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>;
}
Выглядит как костыль
Ответить с цитированием
  #16 (permalink)  
Старый 15.07.2024, 23:08
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,783

Сообщение от Raadsert
Выглядит как костыль
Это просто пример того, как можно разбить приложение на чанки. По хорошему тут вместо if-else нужно использовать роутер.
Ответить с цитированием
  #17 (permalink)  
Старый 16.07.2024, 10:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,196

Сообщение от Raadsert
Это всё отлично работает при тестах на локалке, а если скомпилированный (run build) проект закинуть на хостинг - ссылочная навигация работать не будет(переход по прямой ссылке на условную страницу оплаты вернёт 404).
Это уже все зависит от настроек того "хостинга"...
Нужно чтобы на запросы "определенного типа" хостинг отдавал только один файл...
Это же СПА.
Ответить с цитированием
  #18 (permalink)  
Старый 16.07.2024, 10:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,196

Raadsert, я конечно понимаю, что учить специалиста - только портить...
Но если спрашиваешь - так будь готов читать то, что будут писать в ответ.
Тут врагов нет...
Ответить с цитированием
  #19 (permalink)  
Старый 16.07.2024, 16:36
Аспирант
Отправить личное сообщение для Raadsert Посмотреть профиль Найти все сообщения от Raadsert
 
Регистрация: 09.12.2021
Сообщений: 95

ksa, Nexus, А в целом что скажете, часто делают интернет-магазины на реакт? Хорошее ли решение делать магазин на реакте?
Ответить с цитированием
  #20 (permalink)  
Старый 17.07.2024, 11:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,196

Сообщение от Raadsert
часто делают интернет-магазины на реакт?
Без разницы на чем их делать...
Кто на чем умеет - на том и делает.

Сообщение от Raadsert
Хорошее ли решение делать магазин на реакте?
Ни чем не будет отличаться от любой другой реализации...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интернет магазин за 3000 рублей AlexProf Работа 2 12.03.2019 20:53
Гугл табличка в качестве хостинга под интернет магазин. Идея и прототип. sovsem-nub Ваши сайты и скрипты 2 02.06.2018 15:36
Корзина товаров, интернет магазин без PHP и mySQL Фридрих Ваши сайты и скрипты 2 02.01.2016 21:03
Интернет магазин gps2s.ru Zend Ваши сайты и скрипты 10 26.10.2014 15:59
Интернет магазин работает только в IE Advokatura Internet Explorer 1 02.04.2010 12:45