Рубрики
Без рубрики

Понимание файла Package.json

Что такое Package.json файл A Package.json – это файл JSON, который существует в корне проекта JavaScript / Node. Он содержит метаданные, относящиеся к проекту, и он используется для управления …

Автор оригинала: Ezekiel Ekunola.

Что такое Package.json файл

Package.json – это файл JSON, который существует в корне проекта JavaScript/Node. Он содержит метаданные, относящиеся к проекту, и он используется для управления зависимостями проекта, скрипты, версией и гораздо больше.

Создание файла package.json

Есть два способа создания/создания Package.json файл.

  • НПМ или пряжа

    Чтобы создать файл package.json с NPM , бегите NPM init на вашем терминале.

    Чтобы использовать этот метод, вам нужно иметь Узел установлен в вашей системе.

    Чтобы создать файл package.json с пряжа , бегите init init на вашем терминале.

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

    Примечание: на протяжении всего этого статьи я бы использовал NPM команды для отображения примеров того, как выполнять определенные задачи, если вы предпочитаете использовать пряжа , проверять здесь для пряжа CLI команды.

    После запуска команды он должен задать некоторую информацию о проекте и генерировать Package.json Файл в корне вашего проекта. Сгенерированный файл должен выглядеть как пример ниже.

    Примечание. Вы также можете запустить NPM init -y или пряжа init -y генерировать Package.json Файл с значениями по умолчанию.

  • Вручную

    Чтобы создать файл вручную, создайте Package.json Файл вручную в корне проекта и добавьте пустой объект с требуемыми свойствами, которые являются именем и версией. Это должно выглядеть как пример ниже.

Свойства файла package.json

название

Имя свойство – это обязательное поле в Package.json Файл, он представляет имя проекта. Существуют правила, необходимые для указания имени для вашего проекта в файле Package.json.

  • Должен быть в нижнем регистре
  • должно быть одно слово
  • может содержать дефис и подчеркивает
  • не должен начинаться с подчеркивания (_) или точек (.)
  "name": "package.json-mastery"

версия

Версия также является обязательным полем в Package.json файл. Свойство обозначает текущую версию модуля для проекта. Правило, необходимое для поля версии, заключается в том, что ему необходимо следовать Семантические рекомендации версий E.G 1.0.2

  "version": "1.0.0"

описание

Описание свойства используется в описании и предоставлении дополнительной информации о проекте.

  "description": "Mastery of the package.json file"

двигатели

Свойство двигателей – это объект JSON PARES ключей/значений, которые используются для обозначения/указать версию библиотек и запуска, на которых необходимо запустить приложение.

 "engines": {
    "npm": "6.10.0",
    "node": "10.14.1"
  }

зависимости

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

"dependencies": {
  "bcryptjs": "^2.4.3",
  "cors": "^2.8.5",
  "dotenv": "^6.1.0",
  "express": "^4.16.4",
}

Чтобы установить зависимость, запустить NPM я пакет или NPM установить пакет на вашем терминале. Где пакет – это имя пакета, которую вы пытаетесь установить.

Например, чтобы установить Axios Зависимость, беги NPM Установка Axios на вашем терминале.

DevDependons.

Свойство DevDependonds обозначает список модулей/пакетов, которые не требуются для вашего приложения для функции. Они также известны как зависимости развития.

 "devDependencies": {
    "eslint": "^4.19.1",
    "mocha": "^6.2.0",
    "nodemon": "^1.19.1",
  }

Чтобы установить DevDependency, запустите NPM я пакет --save-dev или NPM установить пакет -D на вашем терминале. Где пакет – это имя пакета, которую вы пытаетесь установить.

Например, чтобы установить Чай Devdependents, беги NPM Установите Chai --save-dev на вашем терминале.

скрипты

Свойство Script принимает объект JSON на пары ключа/значения. Каждый скрипт можно использовать при выполнении различных наборов задач, таких как строительство, тестирование, линтами приложения. Вы можете запустить скрипты, запустив NPM запустить ScriptName или пряжа сценарий на терминале.

  "scripts": {
    "start": "node index",
    "dev": "nodemon index",
    "test": "jest",
    "lint": "eslint ./server",
  }

Например, чтобы выполнить dev Сценарий в примере выше, запустить NPM запустить dev или пряжа dev на вашем терминале.

основной

Основное свойство служит точкой входа вашего приложения и должна указывать на файл, который служит точкой записи в ваше приложение.

  "main": "app.js"

Главная страница

Свойство Homepage используется для указания страницы посадки для приложения/пакета.

 "homepage": "https://github.com/Easybuoy/package.json-mastery#readme",

частный

Частное свойство является ложным по умолчанию, но может быть установлено значение true для предотвращения публикации приложения/пакета.

  "private": true

лицензия

Это свойство обозначает тип лицензии, которая используется проектом

"license": "MIT"

автор

Это свойство обозначает создатель/владелец проекта

"author": "Ezekiel Ekunola"

репозиторий

Ключевое слово «Репозиторий» – это объект JSON пары ключа/значения, которые используются для указания системы управления версиями, используемой для управления приложением. Вы можете указать тип используемого элемента управления версиями, URL к репозиторию, а также дополнительный каталог в репозитории.

"repository": {
    "type": "git",
    "url": "git+https://github.com/Easybuoy/package.json-mastery.git"
  }

баги

Свойство ошибок используется для указывает на страницу выпусков репозитория для приложения или в любом месте проблем проекта.

 "bugs": {
    "url": "https://github.com/Easybuoy/package.json-mastery/issues"
  }

ключевые слова

Свойство ключевых слов – это массив ключевых слов, которые помогают идентифицировать ваш проект или облегчить ваш проект, когда пользователь ищет эти ключевые слова.

  "keywords": ["node", "javascript", "npm", "yarn"]

Пользовательские свойства

Файл package.json также можно использовать для конкретных команд пакета, такие как Babel, Eslint, jest и Mots. Вы можете найти использование в документации по пакету.

Найти пример пользовательской недвижимости для Jest ниже.

  "jest": {
      "snapshotSerializers": [
        "enzyme-to-json/serializer"
      ]
    }

После объединения всех свойств, объясненных выше, мы можем в конечном итоге иметь Package.json. файл, похожий на пример ниже

{
  "name": "package.json-mastery",
  "version": "1.0.0",
  "description": "Mastery of the package.json file",
  "private": false,
  "main": "index.js",
  "scripts": {
    "start": "node index",
    "dev": "nodemon index",
    "test": "jest"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Easybuoy/package.json-mastery.git"
  },
  "keywords": [
    "node",
    "javascript",
    "npm",
    "yarn"
  ],
  "author": "Ezekiel Ekunola",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/Easybuoy/package.json-mastery/issues"
  },
  "homepage": "https://github.com/Easybuoy/package.json-mastery#readme",
  "engines": {
    "npm": "6.10.0",
    "node": "10.14.1"
  },
  "dependencies": {
    "bcryptjs": "^2.4.3",
    "cors": "^2.8.5",
    "dotenv": "^6.1.0",
    "express": "^4.16.4"
  },
  "devDependencies": {
    "eslint": "^4.19.1",
    "mocha": "^6.2.0",
    "nodemon": "^1.19.1"
  },
  "nyc": {
    "exclude": [
      "server/app.js",
      "server/config/",
      "server/build"
    ]
  }
}

Заключение

В этой статье мы смогли посмотреть, что a Package.json Файл это, как его создать, разные свойства и их использование.

Есть еще много недвижимости, которые можно указать в файле Package.json, если вы хотите углубиться, проверять здесь Отказ

Если у вас есть какие-либо вопросы или отзывы об этой статье, не стесняйтесь оставить комментарий.

Спасибо за прочтение.

Эта статья была первоначально опубликована на моем Блог Отказ