18 сен 2018
Вы можете посмотреть бесплатное короткое 4:05 минутное видео следующего содержания, размещенное на egghead.io.
Исторически команда npm init
использовалась исключительно для создания нового package.json
файла. Однако, начиная с версии 6.1.0
, вы можете использовать новую функцию npm init
, которая называется <initializer>
. Предоставленный вами инициализатор определит, как будет построено ваше новое приложение. npm
добавит create-
к имени предоставленного вами инициализатора и будет использовать npx
для временной установки и выполнения этого проекта.
3 способа create-react-app
с npm
В зависимости от того, какую версию npm
вы установили, существуют различные способы взаимодействия с пакетами npm. Чтобы увидеть эти различия, давайте сосредоточимся на взаимодействии с пакетом create-react-app
для начальной загрузки приложения React.
1. npm
<= 5.1.0
Если у вас более старая версия npm
(меньше или равна 5.1.0
), у вас не так много вариантов при использовании create-react-app
. Вы в основном ограничены глобальной установкой creat-react-app
, а затем использованием его для начальной загрузки вашего приложения.
npm install create-react-app -g create-react-app playground
Вышеупомянутое глобально установит create-react-app
из реестра npm
, а затем использует глобальный пакет для начальной загрузки приложения.
Плюсы
- Это будет работать с любой версией
npm
- После установки вам не нужно переустанавливать
Минусы
- Версия
create-react-app
может устареть
2. npm
>= 5.2.0
Если у вас есть версия npm
, равная или выше 5.2.0
, вы можете использовать инструмент npx
, который поставляется вместе с npm
.
npx
(среди прочего) временно установит пакет, если он еще не установлен глобально. Это замечательно, если вы хотите поэкспериментировать с пакетом или, если вы запускаете его так редко, у вас всегда будет последняя версия.
npx create-react-app playground
Приведенный выше фрагмент временно установит create-react-app
из npm
реестра, а затем выполнит его для начальной загрузки приложения.
Плюсы
- У тебя всегда последняя версия
- Вам не нужно устанавливать пакет глобально
Минусы
- Это не так быстро, как использование глобально установленного пакета.
3. npm
>= 6.1.0
Наконец, если у вас установлена последняя версия npm
(версия 6.1.0
или выше), у вас есть новейший способ инициализировать приложение. Команда npm init
существует уже много лет, но с 6.1.0
появилась новая <initializer>
опция, позволяющая npm
знать, что вы хотите использовать ее для создания или обновления своего приложения.
Под оболочкой npm
добавит create-
к предоставленному вами инициализатору, а затем установит и выполнит его с помощью инструмента npx
(как мы обсуждали выше).
npm init react-app playground
Приведенный выше фрагмент кода найдет create-react-app
в реестре npm
, а затем установит и выполнит его с npx
для начальной загрузки приложения.
Плюсы
- Это семантически, поскольку вы инициализируете проект.
- Это на несколько символов короче, чем прямой вызов
npx
- У тебя всегда последняя версия
- Вам не нужно устанавливать пакет глобально
Минусы
- Это не так быстро, как использование глобально установленного пакета.
Другое create-<initializers>
Выше мы рассмотрели create-react-app
в качестве примера, но есть много других инициализаторов, которые вы также можете использовать, например…
create-deck
- Создание презентаций mdx-deckcreate-component-app
- Инструмент для генерации различных типов компонентов React из терминала. 💻create-hintrc
- 💡 Система подсказок для Интернета https://webhint.io/create-esm
- Создатьesm
включенных пакетов
Какой ваш любимый инициализатор? Если вы используете тот, которого нет в приведенном выше списке, я хотел бы знать. Пожалуйста, дайте мне знать в Твиттере по адресу @elijahmanor
!
Заключение
В зависимости от вашей версии вашего npm
вы можете создавать проекты по-разному. Если у вас последняя версия, вы можете использовать все 3 из вышеперечисленных методов, включая новую опцию инициализатора.
Первоначально опубликовано на elijahmanor.com.