Будь то программирование для Android или веб-программирование, мы видим файл package.json во многих местах. Я посвятил себя миру javascript на 1 год. Я хочу поделиться своим опытом и тем, что я узнал. Итак, давайте подробно расскажем о json-файле пакета.
Файл package.json, обычно присутствующий в корне проекта, содержит метаданные о вашем приложении или модуле, а также список зависимостей для установки из npm при запуске npm install.
Чтобы инициализировать package.json, введите в командной строке npm init.
Чтобы создать package.json со значениями по умолчанию, используйте:
Чтобы установить пакет и сохранить его в package.json, используйте:
Вы также можете использовать сокращенную запись:
NPM использует псевдонимы -S to-save и -D to-save-dev для сохранения в зависимости от производства или разработки соответственно.
Пакет появится в ваших зависимостях; если вы используете - save-dev вместо - save, пакет появится в ваших devDependencies.
Важные свойства package.json:
Информация о некоторых важных свойствах:
имя
Уникальное имя вашего пакета, которое должно быть в нижнем регистре. Это свойство является обязательным, и без него ваш пакет не будет установлен.
- Имя должно быть меньше или равно 214 символов.
2. Имя не может начинаться с точки или символа подчеркивания.
3. В имени новых пакетов не должно быть прописных букв.
версия
Версия пакета определяется семантическим управлением версиями (semver). Предполагается, что номер версии записан как MAJOR.MINOR.PATCH, и вы увеличиваете:
- ОСНОВНАЯ версия при внесении несовместимых изменений API
2. МИНИМАЛЬНАЯ версия при добавлении функций обратно совместимым способом
3. Версия PATCH при внесении исправлений ошибок с обратной совместимостью
описание
Описание проекта. Постарайтесь сделать его кратким и лаконичным.
автор
Автор этого пакета.
мусорное ведро
Объект, который используется для предоставления двоичных сценариев из вашего пакета. Объект предполагает, что ключ - это имя двоичного сценария, а значение - относительный путь к сценарию.
Это свойство используется пакетами, которые содержат CLI (интерфейс командной строки).
сценарий
Объект, который предоставляет дополнительные команды npm. Объект предполагает, что ключ - это команда npm, а значение - это путь к сценарию. Эти сценарии могут быть выполнены при запуске npm run {имя команды} или npm run-script {имя команды}.
Пакеты, содержащие интерфейс командной строки и устанавливаемые локально, можно вызывать без относительного пути. Поэтому вместо вызова ./node-modules/.bin/mocha вы можете напрямую вызвать mocha.
главный
Основная точка входа в ваш пакет. При вызове require (‘{module name}’) в узле это будет фактический файл, который требуется.
Настоятельно рекомендуется, чтобы требование наличия основного файла не приводило к побочным эффектам. Например, при требовании основного файла не следует запускать HTTP-сервер или подключаться к базе данных. Вместо этого вы должны создать что-то вроде exports.init = function () {…} в своем основном скрипте.
ключевые слова
Массив ключевых слов, описывающих ваш пакет. Это поможет людям найти вашу посылку.
devDependencies
Это зависимости, которые предназначены только для разработки и тестирования вашего модуля. Зависимости будут установлены автоматически, если не задана переменная среды NODE_ENV = production. В этом случае вы все еще можете использовать эти пакеты с помощью npm install - dev.
peerDependencies
Если вы используете этот модуль, то peerDependencies перечисляет модули, которые вы должны установить вместе с этим. Например, момент-часовой пояс должен быть установлен вместе с моментом, потому что это плагин для момента, даже если он не требует («момент») напрямую.
предпочитатьGlobal
Свойство, указывающее, что эта страница предпочитает глобальную установку с помощью npm install -g {имя-модуля}. Это свойство используется пакетами, которые содержат CLI (интерфейс командной строки).
Во всех других ситуациях вы НЕ должны использовать это свойство.
publishConfig
PublishConfig - это объект со значениями конфигурации, который будет использоваться для публикации модулей. Установленные значения конфигурации переопределяют вашу конфигурацию npm по умолчанию.
Чаще всего publishConfig используется для публикации вашего пакета в частном реестре npm, чтобы у вас по-прежнему были преимущества npm, но для частных пакетов. Это делается путем простой установки URL-адреса вашего частного npm в качестве значения ключа реестра.
файлы
Это массив всех файлов, которые нужно включить в опубликованный пакет. Можно использовать либо путь к файлу, либо путь к папке. Будет включено все содержимое пути к папке. Это уменьшает общий размер вашего пакета за счет включения только правильных файлов для распространения. Это поле работает вместе с файлом правил .npmignore.
Теперь скрипты ??
Вы можете определить сценарии, которые могут выполняться или запускаться до или после другого сценария.
В этом случае вы можете выполнить сценарий, выполнив любую из этих команд:
Пользовательские скрипты
Вы также можете определить свои собственные сценарии так же, как и с предопределенными сценариями:
В этом случае вы можете выполнить сценарий, выполнив любую из этих команд:
Пользовательские сценарии также поддерживают предварительные и последующие сценарии, как показано в приведенном выше примере.
Базовое определение проекта
Зависимости
«Зависимости»: {«имя-модуля»: «0.1.0»}
Точно: 0.1.0 установит эту конкретную версию модуля.
самая новая дополнительная версия: ^ 0.1.0 установит последнюю дополнительную версию, например 0.2.0, но не установит модуль с более высокой основной версией, например 1.0.0
новейший патч: 0.1.x или ~ 0.1.0 установит самую последнюю доступную версию патча, например 0.1.4, но не установит модуль с более поздней основной или дополнительной версией, например 0.2.0 или 1.0.0.
wildcard: * установит последнюю версию модуля.
Репозиторий git: следующее установит tarball из основной ветки репозитория git. Также можно указать #sha, #tag или #branch:
GitHub: пользователь / проект или пользователь / проект # v1.0.0
URL: git: //gitlab.com/user/project.git
или
git: //gitlab.com/user/project.git#develop
локальный путь: файл: ../ lib / project
После добавления их в свой package.json используйте команду npm install в каталоге вашего проекта в терминале.
devDependencies
Для зависимостей, необходимых только для разработки, например для тестирования прокси-серверов стилей ext. Эти dev-зависимости не будут установлены при запуске «npm install» в производственном режиме.