Если вы работали с какими-либо интерфейсными приложениями, связанными с узлом или npm, должен быть файл с именем package.json
, в котором мы обычно храним все конфигурации, связанные с нашим проектом. Когда я начал работать с Angular и React, меня не особо беспокоил этот конкретный файл, потому что он не имеет прямого вмешательства в мой проект. Как фронтенд-разработчик, ваша главная задача — сделать внешний вид как можно лучше, не забывая о высокой производительности. Так зачем мне беспокоиться о файле package.json
?
Но во многих случаях вам нужно изменить некоторые строки в этом файле. На этой ноте вы должны иметь это знание, чтобы вы могли поиграть с ним.
Я буду обсуждать некоторые из общих конфигураций, которые обычно находятся в файле package.json
. Может быть любая информация, которую вы можете сохранить, например, связанная с тестированием или что-то конкретное для вашего проекта, но мы не можем охватить их все, потому что в этом случае список никогда не закончится.
Ниже приведен пример файла package.json
.
Без особого чтения сразу перейдем к списку опций
name
- Название проекта. Очень полезно, когда вы создаете библиотеку. В этом случае имя пакета унаследует это имя.version
— полезно для управления версией вашего проекта.description
- Укажите описание, относящееся к вашему проекту.repository
- К какому репозиторию относится этот проект.author
- Автор или сопровождающий проекта.license
– Существуют различные типы лицензий, такие как MIT, Apache, MPL и многие другие. В зависимости от вашего проекта вы можете указать лицензии здесь.private
— Если вы создаете корпоративное приложение, которое не должно быть открыто для публики, в этом случае вы можете сделать это значение истинным, или же, если вы создаете библиотеку, которая будет действовать как проект с открытым исходным кодом, в этом случае вы можете сделать это как ложный. Npm предотвратит публикацию пакета, если приватное значение равно true.main
— основное поле — это идентификатор модуля, который является основной точкой входа в ваш пакет.module
— используется инструментами упаковщика для обнаружения ESM (модуль ECMAScript).jsnext:main
— Сборщики модулей, которые используют встряхивание дерева для уменьшения размера пакетов, такие как Rollup и Webpack 2, требуют, чтобы пакеты предоставляли модули ES с импортом и экспортом.homepage
- Если вы видите какую-либо страницу пакета npm, вы увидите раздел домашней страницы справа от этой страницы. Любая ссылка, которую вы там увидите, берется из этого свойства главной страницы.bugs
- Так же, как и на главной странице, есть раздел с проблемами. Он принимает этот URL.engines
- Вы можете указать версию узла, на которой работает ваш материал.scripts
– можно указать различные команды, такие как сборка, запуск и т. д.dependencies
— чтобы указать пакеты, от которых зависит ваш проект.devDependencies
— указать пакеты разработки, от которых зависит ваш проект.peerDependencies
— Это особенно важно, когда вы разрабатываете библиотеку, где вашему пакету нужны точные версии пакетов, упомянутых в peerDependencies.files
— используется для предоставления информации npm, которая позволяет ему идентифицировать проект, а также обрабатывать зависимости проекта.keywords
— набор ключевых слов для идентификации пакета.
Вывод
Очень важно знать основы, когда вы что-то строите. И package.json содержит много базовой конфигурации, которая имеет потенциальную ценность для нашего проекта. Есть много других опций, которые вы можете настроить с помощью package.json, которые я не смог осветить, так как список никогда не закончится, поэтому всякий раз, когда вы получаете новый термин, просто гуглите его.