Джоэл Хукс, создатель egghead.io, написал пост об автоматизации новых постов для Гэтсби с помощью простого скрипта npm.
Я решил, что с некоторыми изменениями, относящимися к Gatsby Starter Blog, я опубликую его как пакет на npm
.
Первым на рынок? Почти никогда
У меня было серьезное любительское представление, что я буду единственным с этим скриптом в реестре. Уже было несколько других, некоторые более продуманные, чем мои, использующие намного больше технологий, чем нужно, но эй. Я думаю, это хорошо выглядит на вашем GitHub.
Хотя меня это не остановило.
Я продолжал исследовать, как сделать модуль и опубликовать его.
Ошибки
Здесь слишком много ошибок, чтобы их перечислять. Прошлой ночью я был так разочарован гуглением, что пошел на форум поддержки npm
и задал вопрос, который показался мне новым.
Я получил ответ, который заставил меня задуматься о том, как я структурировал свой файл package.json
.
Взгляните на старый файл package.json
:
Здесь я использовал основные зависимости как зависимости разработчиков. Я действительно должен исследовать разницу, потому что, когда человек на форумах запустил мой скрипт, он получил ошибку, связанную с наличием slug
в качестве зависимости разработчика:
Я решил переместить их в основные зависимости и перезапустить.
Скрипты не нужны
Еще одна проблема заключалась в том, что я собирал воедино информацию со всего Интернета и пытался ее проанализировать. Я получил информацию с YouTube, npm blog
, Medium, везде, где я мог найти, как это сделать, я попытался реализовать в своем собственном модуле.
Одна из вещей, которые я делал неправильно, заключалась в том, что я использовал произвольный npm script
, а также помещал исполняемый файл в папку bin
и указывал это в файле package.json
.
Сначала я удалил объект scripts
. Во-вторых, всякий раз, когда я пытался запустить его, я запускал его с npm run new-post
, на что я получил ошибку: missing script: new-post
. Я не знаю почему, но необходимы дальнейшие исследования npm scripts
.
Глобальная установка
Комментатор форума показал мне, как он установил и запустил его.
npm install --global new-post-gatsby-starter-blog
Я не устанавливал его глобально, и у меня до сих пор нет его локального для конкретного проекта; Я работаю над этим.
Он также запускал скрипт с new-post
, и он работал, но были ошибки.
Одним из них был выпуск slug
. Я исправил это, но по-прежнему появлялись странные ошибки.
Не удается найти модуль ‹project/bin/new-post›
Это было странно, и я приписал это тому, что мой объект main
не указывал на правильный файл. С этой модификацией и удалением объекта scripts
все работает как надо.
Урок: исследуйте, прежде чем делать что-то подобное
Я сделал это в спешке, чтобы просто сначала это сделать, а это означало, что были довольно серьезные ошибки и разочарования, которых можно было бы избежать. Я должен был провести более тщательное исследование, чтобы не просматривать так много информации по теме, а затем пытаться собрать воедино обрывки видео и статей, которые я нашел в Интернете.
Прежде чем опубликовать Check Yo Self CLI, я планирую провести еще немного исследований и планирования.
Где найти модуль
Вы можете найти его на npm и посмотреть релизы на моем GitHub.