Как игнорировать файлы из вашего пакета npm

Вы можете решить, какие файлы люди получат при загрузке вашего пакета, тремя способами:

  1. С .gitignore файл
  2. С .npmignore файл
  3. С files имущество

Мы рассмотрим каждый метод и обсудим, какие методы вам следует (или не следует) использовать.

Исключение файлов с помощью gitignore

Сначала npm проверит ваш репозиторий на наличие .gitignore файл. если есть .gitignore файла, npm будет игнорировать файлы в соответствии с тем, что указано в .gitignore файл.

Это наиболее распространенный способ, с помощью которого авторы пакетов предотвращают загрузку дополнительных файлов.

Давайте рассмотрим простой пример. Скажем, у вас есть следующая структура каталогов.

- project-name/ 
  |- index.js 
  |- package.json 
  |- node_modules/

Допустим, вы не хотите, чтобы люди загружали node_modules папка. Вы также не хотите сохранять node_modules в репозитории Git.

Что вы будете делать, это создать .gitignore файл.

# .gitignore 
node_modules

В этом случае и Git, и npm игнорируют node_modules папка.

Добавление файлов в черный список с помощью npmignore

Второй способ — внести файлы в черный список с .npmignore файл. .npmignore файл работает так же, как .gitignore файл. Если файл указан в списке .npmignore файл, файл будет исключен из пакета.

Важная заметка: Если у тебя есть .npmignore файл, npm будет использовать .npmignore файл. npm будет игнорировать .gitignore файл вообще. (Многие разработчики ошибочно полагают, что npm будет использовать оба .npmignore а также .gitignore файлы. Не совершайте ту же ошибку!).

Вы можете использовать этот метод, если хотите исключить файлы из пакета, но оставить их в репозитории Git.

Давайте рассмотрим еще один пример. Допустим, вы написали тесты для своего пакета и поместили их все в tests папка. Это ваша структура каталогов:

- project-name/ 
  |- index.js 
  |- package.json 
  |- node_modules/ 
  |- tests/

Вы хотите исключить node_modules как из вашего репозитория Git, так и из вашего пакета.

Вы хотите включить tests в вашем репозитории Git, но исключите его из пакета.

Если вы выберете npmignore файловый метод, вы можете записать их в свой .gitignore а также .npmignore файлы:

# .gitignore 
node_modules
# .npmignore
node_modules
tests

Добавление файлов в белый список с помощью свойства files

Третий метод состоит в том, чтобы белый список файлы, которыми вы хотите быть включены в package.json файл, под files имущество.

Примечание. npm отдает приоритет этому методу по сравнению с другими методами, упомянутыми выше. Это самый простой способ ограничить количество загружаемых файлов другими пользователями.

Этот подход довольно прост. Что вам нужно, так это создать files имущество в package.json файл. Затем укажите список файлов, которые вы хотите включить.

Вот пример:

{ 
  "files": [
    "index.js"
  ]
}

Примечание. Некоторые файлы, например package.jsonявляется всегда включен в упаковке. Вам не нужно записывать эти файлы в files имущество.

Какой метод использовать?

Все три метода работают. Выберите тот, который вам наиболее удобен. Для простых проектов .gitignore файлового метода должно быть достаточно.

Если ваш проект более продвинутый, вы можете захотеть внести файлы в черный список с помощью .npmignore или белый список файлов с files имущество. Выбери один. Нет необходимости в обоих.

Быстрый совет

Вы можете использовать npm pack для создания пакета. Этот пакет включает в себя файлы, которые получат другие люди.

npm pack

Попытайся!

Спасибо за чтение. Эта статья изначально была размещена на мой блог. Подписаться на моя рассылка если вы хотите больше статей, которые помогут вам стать лучшим разработчиком внешнего интерфейса.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *