Следует ли устанавливать react и react-dom в режиме --save или --save-dev?

В некоторых руководствах используется режим --save, а в других - режим --save-dev.

Оба они используют Babel, говоря, что он используется для преобразования React в простой Javascript, понятный браузерам. Это означает, что в финальном пакете будет Javascript. В таком случае зачем нам устанавливать react и react-dom в режиме --save? --save-dev режима должно хватить, верно?

Кроме того, такие операторы, как import React из response, входят ли они в файлы пакета сборки prod? Если нет, то как такие операторы, как React.createClass, работают без React, доступного в соответствующей области / области памяти?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
3
0
1 922
1

Ответы 1

Режим --save предназначен для пакетов, которые ваше приложение будет использовать при запуске, например React. --save-dev предназначены для пакетов, которые помогают вам в разработке, таких как линтеры, сборщики модулей, транспилеры (например, Babel).

Это разделение почти полностью идет вам на пользу - размещение всего в ваших основных зависимостях с помощью --save ничего не сломает, но это считается плохой организацией.

Кстати, NPM 5 и выше автоматически сохраняют пакеты, поэтому флаг --save больше не нужен. (Вам все равно нужно использовать --save-dev, чтобы пометить пакеты как «зависимые от разработки»).

Also, statements like import React from 'react', do they go into prod build bundle files? If not, how are statements like React.createClass work without React being available in that corresponding scope/memory-space?

Да, этот import React from 'react' попадает в комплект, но с использованием обычной функции JavaScript вместо оператора импорта. Вы можете открыть файл пакета в текстовом редакторе, чтобы увидеть, во что был преобразован ваш код.

Другие вопросы по теме