Публикация в npm
Версионируйте и публикуйте свою библиотеку
«Публикация в npm» — бесплатный урок Angular Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Angular Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Angular Academy содержит 4 уроков всего.
Как поделиться библиотекой с миром
После сборки в Angular Package Format библиотека публикуется в реестре, обычно npm, чтобы любой проект мог установить её с помощью npm install. В этом уроке рассматриваются версионирование и процесс публикации.
Публикуйте результат dist, а не исходный код
Публикуйте собранный пакет из dist/<lib>, где находятся созданный package.json и скомпилированные пакеты, а не исходный проект. Именно этап сборки делает пакет пригодным для использования.
ng build ui-kit --configuration production
cd dist/ui-kitСемантическое версионирование
Пакеты npm используют semver: MAJOR.MINOR.PATCH. Увеличивайте PATCH для исправлений, MINOR — для обратно совместимых возможностей, MAJOR — для нарушающих совместимость изменений. Благодаря этому потребители могут безопасно обновляться.
0.0.1 -> 0.1.0 # new feature, no breaks (minor)
0.1.0 -> 0.1.1 # bug fix (patch)
0.1.1 -> 1.0.0 # breaking change (major)Настройка версии
Версия берётся из собственного package.json библиотеки. Обновите её перед сборкой или используйте npm version, чтобы последовательно увеличить номер версии.
# inside projects/ui-kit (or use the field directly)
npm version minor # bumps and tags the versionВход в npm
Перед публикацией пройдите проверку подлинности в реестре. npm login сохраняет токен, благодаря чему команда публикации получает необходимые права.
npm login
# enter username, password / token, emailПубликация
Выполните npm publish из каталога собранного пакета. npm загрузит пакет и сделает его доступным для установки по имени и версии.
cd dist/ui-kit
npm publishПакеты с областью действия
Пакеты организаций используют область действия, например @myorg/ui-kit. По умолчанию пакеты с областью действия в npm являются закрытыми; передайте --access public, чтобы опубликовать их открыто.
npm publish --access publicУстановка опубликованной библиотеки
Затем потребители добавляют её как любую зависимость и импортируют из её общедоступного API. Angular находит пакет FESM и типы через созданный package.json.
npm install ui-kit
// then:
import { ButtonComponent } from 'ui-kit';Предварительные версии и метки
Публикуйте нестабильные сборки под меткой дистрибутива, например next, чтобы они не становились версией по умолчанию latest. Потребители явно выбирают их.
npm publish --tag next
npm install ui-kit@nextЗакрытые реестры
Для библиотек, предназначенных только для внутреннего использования, публикуйте их в закрытом реестре (закрытые пакеты npm, GitHub Packages или Verdaccio), настроив .npmrc. Процесс публикации тот же, отличаются только URL реестра и данные аутентификации.
Автоматизация в CI
Зрелые команды публикуют пакеты из CI при выпуске с меткой: конвейер собирает библиотеку, запускает тесты и выполняет npm publish с сохранённым токеном. Это предотвращает ручные ошибки и связывает версии с коммитами.
Быстрая проверка
Что публикуется в npm?
Итоги
Публикуйте собранный результат dist/<lib>, версионируемый с помощью semver. Увеличьте версию, выполните npm login, а затем npm publish (добавьте --access public для пакетов с областью действия и --tag next для предварительных версий). Потребители выполняют npm install и импортируют из общедоступного API. Для надёжности автоматизируйте публикацию в CI.
Часто задаваемые вопросы
Урок «Публикация в npm» бесплатный?
Да — полный текст урока «Публикация в npm» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Angular Academy, подпишись на CoddyKit PRO. Курс Angular Academy содержит 4 уроков всего.
Чему я научусь в уроке «Публикация в npm»?
Версионируйте и публикуйте свою библиотеку Ты практикуешь Angular Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Angular Academy?
Предыдущий опыт не требуется. Angular Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Публикация в npm»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Angular Academy?
Да. Каждый урок Angular Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Создание библиотеки с помощью ng generate
- Публичный API и точки входа
- Сборка с помощью ng-packagr
- Публикация в npm