Как создать свой собственный стартовый комплект npm?

Начало работы: популярные фреймворки node.js поставляются со своими собственными стартовыми наборами, которые действуют как шаблоны проектов, например, React поставляется со стартовым набором. Когда пользователь хочет создать новое приложение реакции, он может использовать сокращенную npx create-react-app my-app. ... для автоматического создания целого каркаса проекта со всеми базовыми файлами проекта, каталогами и зависимостями пакетов. При использовании стартового набора npx разрешает переменные шаблона внутри файлов стартового набора, т. Е. Если в package.json есть запись {{my-application-name}}npx, как и пользовательский ввод, заменит переменную шаблона, например, "my-first-app". React является лишь одним примером для такого стартового набора.

Постановка проблемы: я хотел бы собрать свой собственный стартовый набор для моей собственной среды node.js. На первый взгляд кажется, что нужно просто следовать соглашению, чтобы назвать мой пакет, начинающийся с "create-", и использовать шаблон -{{vars}} в нужных местах. Я попробовал и начал копировать, вставлять и заменять, однако npm install не сработало, так как неразрешенная переменная шаблона приводит к ошибкам сборки.

Кто-нибудь знает учебник, как создать свой собственный стартовый комплект npx? Кто-нибудь знает, как можно создать и опубликовать новый стартовый комплект?

2 ответа

да, вы можете создать свой собственный стартер npx, используя вспомогательные пакеты CLI в регистре npm

Шаги по созданию собственного стартера npx ...?

  1. вы можете использовать args или commander, чтобы получить входные данные cli ( узел argv с объектом процесса ) и проанализировать его на объект, чтобы вы могли отслеживать, что хочет пользователь

  2. на основе предыдущего проанализированного объекта из интерфейса командной строки, теперь вы можете собрать дополнительную информацию, используя запросчик, где вы можете задать вопросы «да / нет» или выбрать один из множества вариантов.

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

  4. вы можете использовать execa для выполнения команды процесса, такой как git init, git clone или любой другой команды, которая может прийти вам в голову

  5. вы можете использовать listr, чтобы украсить свои собственные списки задач красивым счетчиком

  6. вы можете использовать мел, чтобы распечатать строку в интерфейсе командной строки с цветами и упростить чтение, сделайте сообщение зеленым, если оно успешно, или красным, если оно не удалось

Чтобы узнать больше о том, как это работает вместе, вы можете посмотреть это видео

Просто идея, создайте репозиторий с вашим стартовым кодом, в github есть ссылка для скачивания, смотрите изображение ниже

Щелкните правой кнопкой мыши кнопку Загрузить ZIP и скопируйте ссылку. Используйте модуль запроса NodeJS для загрузки кода (который не содержит ссылок на репозиторий или папку.git, поэтому только код будет загружен без истории git).

Затем извлеките его с помощью инструмента Cli. Таким образом, вы можете иметь свой собственный стартовый шаблон, и вы можете обновить его в любое время, обновив git-репозиторий. Надеюсь, это поможет.

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