@Vadim1899

Несколько вопросов по react?

Всем привет!
Только начал изучение реакта (до этого просто верстка, немного php на xampp). Возникло пару глупых вопросов, если объясните буду очень признателен

1. Во многих туториалах, для запуска react приложения используют npm. Зачем? React это просто js библиотека, которую можно подключить с помощью тех же cdn и просто открыть .html в браузере.
2. (продолжение к вопросу 1). Полагаю, с помощью npm start запускают сервер и вешают на порт локалки, так ли это? Но опять же, зачем, если файл можно просто открыть в браузере? И что если бек на пыхе? Получается будут смешаны файлы пыхы и ноды? Это же куча ненужных файлов
3. Во многих туториалах так же прописывают различные import-ы различных библиотек. Это относится к реакту или к nodejs-приложению?

Заранее прошу прощения за глупые вопросы
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
Во многих туториалах, для запуска react приложения используют npm. Зачем? React это просто js библиотека, которую можно подключить с помощью тех же cdn и просто открыть .html в браузере.

Именно с реактом так не получится, если цель написать что-то сложнее Hello world.

Полагаю, с помощью npm start запускают сервер и вешают на порт локалки, так ли это?

npm start это всего-лишь команда в package.json, запускать она может что угодно. В случае с webpack она обычно запускает webpack-dev-server, который слушает какой-нибудь порт на localhost и отдает статику по этому порту. Это локальная замена веб-сервера, для удобной разработки. При сборке для настоящего сервера используют другую команду.

Но опять же, зачем, если файл можно просто открыть в браузере?

Можно, но webpack-dev-server автоматически обновляет страницу при изменении кода (live reload). Плюс при запуске html из файловой системы , ссылки начинающиеся от '/' будут работать от рута файловой системы, а не от url. И вообще будут проблемы со ссылками.

И что если бек на пыхе? Получается будут смешаны файлы пыхы и ноды? Это же куча ненужных файлов

Бэк на пыхе должен быть отдельным проектом, потому что реакт обычно работает с бэкендом через REST API. Это значит, что бэк может быть вообще на другом сервере и в другой стране.

Во многих туториалах так же прописывают различные import-ы различных библиотек. Это относится к реакту или к nodejs-приложению?

import/export это часть языка JavaScript стандартизированная спецификацией EcmaScript. Поэтому эту часть синтаксиса еще называют esm (EcmaScript modules). Стандарт уже реализован в современных браузерах и недавних версиях NodeJS. Но для обспечения совместимости с разными бибилиотеками еще не использующими стандартный import/export нужен сборщик типа webpack.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы