Родной город должен быть белой росой, прохладной ночью и осенним равноденствием. Луна яркая, горы тихие, небо чистое. —— «Ночь середины осени в гостях», Сунь Цзо
- Публичный аккаунт WeChat"Полный стек JavaScript》
- Наггетс»Мастер единства》
- Билибили»Мастер единства》
- verdaccio
Соответствующие шаги объясняют, что видео было записано синхронно, при необходимости переместитеСтанция БилиПубличный аккаунт WeChat
предисловие
На работе мы часто разрабатываем много общего кода, такого как библиотеки пользовательского интерфейса, классы инструментов и общие коды бизнес-логики, которые мы объясняли вам ранее. Как мы можем использовать этот код? В настоящее время эти библиотеки можно опубликовать в npm, а необходимые проекты можно установить и использовать, но публикация в общедоступной сети npm не может гарантировать конфиденциальность исходного кода, тогда нам нужно использовать частный репозиторий npm.
Преимущества частных репозиториев npm
- Может использоваться только в компании LAN, чтобы обеспечить конфиденциальность кода
- Из-за использования локальной сети загрузка пакета зависимостей выполняется быстрее.
- Вы можете настроить разрешения для публикации и установки пакетов npm, что способствует обслуживанию складов npm.
- Сторонний пакет npm был изменен, но автор пакета релиза не объединил PR с мастером, поэтому после установки пакета на эту функцию нельзя ссылаться.В настоящее время мы можем изменить исходный код пакета сторонний пакет и опубликовать его на личном складе, а потом скачать и установить, а не в
node_modules
Измените исходный код в
Использование Вердаччо
Verdaccio
используетсяnodejs
Разработан легкий частный прокси-сервис npm, поэтому используйтеVerdaccio
необходимо установить передnode
. Как установить узел не является предметом нашей статьи, вы можете найти информацию, чтобы установить узел самостоятельно.
Установить Вердаччо
использоватьnpm
УстановитьVerdaccio
, необходимо установить глобально, поэтому обратите внимание на проблемы с разрешениями.
npm install -g verdaccio
После установки выполнить
verdaccio -h
Появится подсказка о номере версии, указывающая на то, что установка прошла успешно. Если будет предложено, что команда не может быть найдена, перезапустите консоль.
запустить вердаччо
бегатьverdaccio
Команда очень проста, просто выполните verdaccio.
verdaccio
На данный момент результат выполнения следующий
warn --- config file - /root/.config/verdaccio/config.yaml
warn --- Plugin successfully loaded: htpasswd
warn --- Plugin successfully loaded: audit
warn --- http address - http://localhost:4873/ - verdaccio/4.4.0
Это, чтобы напомнить нам,verdaccio
Файл конфигурации помещается в каталог пользователя.config/verdaccio/config.yaml
, отредактируйте файл, чтобы изменитьverdaccio
Конфигурация. Соответствующая конфигурация представлена в следующем параграфе.
Откройте браузер, введите localhost: 4873, и вы увидите веб-страницу для отображения пакета.Поскольку мы еще не загрузили ни одного пакета, страница пуста и предлагает опубликовать пакет в этом репозитории.
настроить вердаччо
verdaccio
Файл конфигурации~/.config/verdaccio/config.yaml
, с помощью редактора илиvim
Откройте этот файл,verdaccio
Конфигурация по умолчанию выглядит следующим образом
#
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
#
# path to a directory with all packages
storage: ./storage
# path to a directory with plugins to include
plugins: ./plugins
web:
title: Verdaccio
# comment out to disable gravatar support
# gravatar: false
# by default packages are ordercer ascendant (asc|desc)
# sort_packages: asc
auth:
# max_users: 1000
# a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
#
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish/publish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs
# You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections.
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
server:
keepAliveTimeout: 60
middlewares:
audit:
enabled: true
# log settings
logs:
- { type: stdout, format: pretty, level: http }
#- {type: file, path: verdaccio.log, level: info}
#experiments:
# # support for npm token command
# token: false
Далее описывается значение важных параметров
storage
Настройте адрес хранилища, опубликованный в пакете частного хранилища, который по умолчанию хранится в~/.config/verdaccio/storage
, мы можем регулярно очищать содержимое этого файла, но мы должны быть осторожны, потому что пакеты, хранящиеся в этой папке, являются не только нашими собственными опубликованными пакетами, но также некоторыми пакетами, которые извлекаются и кэшируются из общедоступных репозиториев (как настроить Pull кеш, последующее введение параметра).
uplinks
Может быть, наши пакеты не только выпускаются на один склад, если компания разделяет несколько фронтенд-отделов по бизнес-направлениям, а технология самостоятельна, но может быть разделена между отделами, то если мы хотим использовать приватный пакет npm, выпущенный себя, мы также ожидаем, что вы можете использовать пакеты npm, разработанные другими командами, тогда мы можем добиться этого, указав этот параметр. Другими словами, общественный склад npm также можно понимать как еще один из наших складов, например, этот склад и склад Taobao. Конфигурация выглядит следующим образом, здесь на самом деле просто определение, реальное использование на самом деле в упаковкеpackages
управляемые параметры
uplinks:
npmjs:
url: https://registry.npmjs.org
taobao:
url: https://registry.npm.taobao.org/
packages
Этот параметр является самым важным во всей конфигурации, поскольку, настроив этот параметр, вы можете установить разрешения на пакет, устанавливать разрешения на публикацию пакетов и использование, и устанавливают, просыпаются ли пакеты для публичных складов NPM и т. Д.
packages:
'@heyi/*':
access: $all
publish: $authenticated
unpublish: $authenticated
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs
Через настройку вышеуказанных параметров мы соглашаемся, если ваш релиз@heyi
с префиксом означает, что это частный пакет, который не будет проксироваться во внешний мир. Если опубликованный пакет не@heyi
префикс, он пойдет**
логика, т.е. все не содержит@heyi
пакет с префиксом, это нетрудно увидеть,proxy: npmjs
Указывает, что если пакет загружен, он будет проксирован в общедоступный репозиторий npm.@heyi
Когда используется пакет с префиксом, он автоматически проксирует общедоступный репозиторий npm, чтобы найти ресурсы и загрузить их, и по умолчанию извлеченные ресурсы будут кэшироваться в тот, который мы указали ранее.storage
папка.
listen
Я думаю, что студенты, которые разрабатывали back-end, не будут незнакомы, на каком порту запускается служба, verdaccio слушает на конце 4873 по умолчанию, мы можем указать это, указавlisten
Конфигурация модификации параметров
listen:
0.0.0.0: 3000
Перезапустите после настройкиverdaccio
, порт слушает на 3000
На этом настройка приватного репозитория npm завершена, после чего мы можем разработать пакет и опубликовать его, но перед этим я рекомендую инструмент для управления исходниками npm.nrm
.
Элегантный способ настройки исходников npm
установить номер
использоватьnpm
Установитьnrm
npm i -g nrm
Посмотреть справку по номеру
➜ ~ nrm -h
Usage: nrm [options] [command]
Options:
-V, --version output the version number
-h, --help output usage information
Commands:
ls List all the registries
current Show current registry name
use <registry> Change registry to registry
add <registry> <url> [home] Add one custom registry
set-auth [options] <registry> [value] Set authorize information for a custom registry with a base64 encoded string or username and pasword
set-email <registry> <value> Set email for a custom registry
set-hosted-repo <registry> <value> Set hosted npm repository for a custom registry to publish packages
del <registry> Delete one custom registry
home <registry> [browser] Open the homepage of registry with optional browser
publish [options] [<tarball>|<folder>] Publish package to current registry if current registry is a custom registry.
if you're not using custom registry, this command will run npm publish directly
test [registry] Show response time for specific or all registries
help Print this help
Список источников npm, которые в настоящее время хранятся в nrm
nrm ls
Результат выглядит следующим образом
➜ ~ nrm ls
npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
* taobao ----- https://registry.npm.taobao.org/
nj --------- https://registry.nodejitsu.com/
npmMirror -- https://skimdb.npmjs.com/registry/
edunpm ----- http://registry.enpmjs.org/
Использовать указанный источник
Например, теперь мы хотим использовать официальный исходный код npm.
nrm use npm
Добавить пользовательские источники
Добавлять команды очень просто, нужно только указать имя источника и адрес источника.
nrm add heyi 47.94.248.23:3000
Запустите команду просмотра еще раз, чтобы обнаружить, что в списке есть еще одна запись, которая является источником, который мы добавили.
войти в нпм
Обратите внимание, что перед входом в систему вы должны убедиться, что источник npm в это время указывает на наш частный склад, и вы можете использовать nrm для завершения переключения.
nrm use heyi
Добавить пользователя
Если вы впервые входите в систему, вам необходимо зарегистрировать пользователя.Если служба не имеет специальных разрешений, вы можете напрямую добавить пользователя.Команда выглядит следующим образом
npm addUser
Следуйте инструкциям, чтобы ввести имя пользователя, пароль и адрес электронной почты.
выпуск пакета
npm publish
Поскольку это не связано с публикацией npm, мы пропустим эту статью о моментах, на которые необходимо обратить внимание при публикации этой части.Если вам интересно, вы можете проверить мое объяснение по разработке пакетов:Ant Design начинается с нуля и знакомит вас с парадигмой фронтенд-разработки крупных заводов..
Ну, это конец содержания рукописи. Если у вас этого не было достаточно, вы еще не узнали его? Неважно, официальный счет и станция B записали видео, соответствующее этой главе. После прочтения статьи возьмите видео семена дыни, чтобы просмотреть его. Жизнь так аромат!
Начните Verdaccio с PM2
pm2 start verdaccio
Спасибо за ваше чтение и поддержку, я один, до свидания герои!