В Части I мы создали библиотеку компонентов аутентификации с помощью нашего надежного <HelloWorld />
component. В этом посте мы опубликуем нашу библиотеку компонентов в частном реестре Github NPM. Это позволит библиотеке оставаться в вашей организации и использоваться для всех ваших приложений.
1. Создайте токен персонального доступа.
Во-первых, мы перейдем к Создать токен персонального доступа в Github, чтобы читать и писать ваши пакеты.
- Вы можете сделать это, перейдя по ссылке:
Github Account -> Settings -> Developer Settings -> Personal Access Tokens -> Generate New Token Note: Private NPM Packages Select scopes: write:packages, read:packages
2. Нажмите Создать токен и скопируйте токен в буфер обмена.
3. Скопировав токен, в том же каталоге, что и ваш package.json
файл, создайте .npmrc
файл и добавьте следующую строку, заменив TOKEN вашим личным токеном доступа.
//npm.pkg.github.com/:_authToken={TOKEN}
2. Создайте частный репозиторий в Github.
Создайте частный репозиторий в Github, как обычно, и скопируйте URL-адрес. Мой был бы:
git://github.com/hinammehra/auth-component-library
3. Добавьте publish-config в package.json.
Для успешной публикации вам необходимо внести небольшие изменения в свой package.json.
- Пока что у вашего package.json должно быть имя вашей папки,
"name": "auth-component-library"
. Чтобы опубликовать свой пакет, вам нужно переименовать его в@owner/repo-name
. В моем случае это"name": "@hinammehra/auth-component-library"
. "files"
: папка с нашей сгенерированной библиотекой, то есть папка./dist
."publishConfig"
: реестр, в котором вы хотите опубликовать пакет, то есть"registry": "https://npm.pkg.github.com"
."repository"
: URL только что созданного частного репозитория Github.- Наконец, если у вас есть следующая строка в package.json, удалите ее. Установка
"private": true
в вашем package.json вообще запрещает его публикацию. Не волнуйтесь, ваш пакет все равно будет опубликован как частная библиотека компонентов и без него.
{ ... "private": true // remove this line ... }
В конечном итоге ваш package.json должен выглядеть так:
3. Опубликовать в реестре Github.
Попробуйте опубликовать свою библиотеку с помощью следующей команды, и все должно получиться!
$ npm publish
Ваш пакет теперь виден на Github:
https://github.com/<owner>/<repo-name>/packages
4. Использование частной библиотеки компонентов
После публикации нашей частной библиотеки компонентов давайте попробуем использовать ее в приложении React.
$ create-react-app auth-consumer-app
- Создайте еще один
.npmrc
в своем потребительском приложении и добавьте следующие строки. - Для простоты мой
TOKEN
аналогичен шагу 1, вам следует создать еще один токен персонального доступа только с правами read: packages. OWNER
- владелец вашего пакета, мойhinammehra
.
//npm.pkg.github.com/:_authToken={TOKEN}
registry=https://npm.pkg.github.com/{OWNER}
Вот и все!
Теперь попробуйте запустить команду установки:
$ npm install @OWNER/repo-name
Подведение итогов ..
- Это все для части II. У самих Github есть довольно изящная документация, вы также можете сослаться на это.
- В Части III мы будем использовать Material UI, чтобы добавить
<SignIn />
компонент в нашу частную библиотеку.