Будь то программирование для 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:

Информация о некоторых важных свойствах:

имя

Уникальное имя вашего пакета, которое должно быть в нижнем регистре. Это свойство является обязательным, и без него ваш пакет не будет установлен.

  1. Имя должно быть меньше или равно 214 символов.
    2. Имя не может начинаться с точки или символа подчеркивания.
    3. В имени новых пакетов не должно быть прописных букв.

версия

Версия пакета определяется семантическим управлением версиями (semver). Предполагается, что номер версии записан как MAJOR.MINOR.PATCH, и вы увеличиваете:

  1. ОСНОВНАЯ версия при внесении несовместимых изменений 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» в производственном режиме.

Спасибо, что прочитали. Увидимся в моей следующей статье ..