91午夜在线观看免费-91稀缺在线观看-91系列在线观看免-91线频观看站街-91香焦视频-91香蕉ios下载

南京飛致網絡科技有限公司_網站建設_網站推廣_網站優化

網站設計是技術與創意的完美融合!

網站知識

什么是package.json文件

2021-01-05

package.json是存在于Javascript / Node項目根目錄下的JSON文件。它保存與項目相關的元數據,并用于管理項目的依賴項,腳本,版本等。

建立package.json檔案

有兩種創建/生成package.json文件的方法。

  • Npm或紗線

    要使用npm創建package.json文件,請npm init在您的終端上運行

    要使用此方法,您需要在系統上安裝Node

    要使用yarn創建package.json文件,請yarn init在您的終端上運行

    要使用yarn方法,您需要在系統上安裝NodeYarn

    注意:在本文的整個過程中,我將使用npm命令來顯示如何執行特定任務的示例,如果您更喜歡使用yarn,請在此處查看yarn CLI命令。

    運行命令后,它應詢問有關項目的一些信息,并在項目package.json的根目錄中生成一個文件。生成的文件應類似于以下示例。

    {
      "name": "storemanager",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "directories": {
        "test": "test"
      },
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC"}

    注意:您也可以運行npm init -yyarn init -y生成package.json具有默認值文件。

  • 手動

    要手動創建package.json文件,請在項目的根目錄中手動創建一個文件,并添加一個空對象,該對象具有所需的屬性,即名稱和版本。
    它看起來應該像下面的示例。

    {
      "name": "storemanager",
      "version": "1.0.0"}

package.json文件的屬性

名稱

name屬性是package.json文件中的必填字段,它表示項目的名稱。在package.json文件中為項目指定名稱時,需要遵循一些規則。

  • 一定是小寫的

  • 必須是一個字

  • 可以包含連字符和下劃線

  • 不應以下劃線(_)或點(。)開頭

  "name": "package.json-mastery"

版本

版本也是package.json文件中的必填字段該屬性表示項目模塊的當前版本。
版本字段所需的規則是它需要遵循語義版本控制準則,例如1.0.2

  "version": "1.0.0"

描述

description屬性用于描述和提供有關項目的更多信息。

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

引擎

engines屬性是鍵/值對的JSON對象,用于表示/指定應用程序應在其上運行的庫和運行時的版本。

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

依存關系

dependencies屬性表示應用程序運行所需的模塊/軟件包的列表。安裝依賴項后,它將被添加到依賴項列表中。

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

要安裝依賴項,請在終端上運行npm i packagenpm install package該軟件包是您要安裝的軟件包的名稱。

例如,要安裝axios依賴性,請npm install axios在您的終端上運行

devDependencies

devDependencies屬性表示應用程序正常運行不需要的模塊/軟件包列表。它們也稱為開發依賴項。

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

要安裝devDependency,運行npm i package --save-devnpm install package -D你的終端上。該軟件包是您要安裝的軟件包的名稱。

例如,要安裝chai devDependency,請npm install chai --save-dev在您的終端上運行

script

script屬性采用鍵/值對的JSON對象。每個腳本可用于執行不同的任務集,例如構建,測試,整理應用程序。
您可以通過運行運行腳本npm run scriptname,或者yarn scriptname在終端上。

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

例如,執行開發上面,運行示例腳本npm run dev或者yarn dev您的終端。

main

main屬性用作應用程序的入口點,并且應指向用作應用程序入口點的文件。

  "main": "app.js"

homepage

homepage屬性用于指定應用程序/程序包的登錄頁面。

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

private

默認情況下,private屬性為false,但可以將其設置為true,以防止發布應用程序/程序包。

  "private": true

license

此屬性表示項目正在使用的許可證類型

"license": "MIT"

author

此屬性表示項目的創建者/所有者

"author": "*****"

repository

repository關鍵字是鍵/值對的JSON對象,用于指定用于管理應用程序的版本控制系統。您可以指定使用的版本控制的類型,
存儲庫的URL以及存儲庫內的可選目錄。

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

bugs

bugs屬性用于指向應用程序存儲庫的問題頁面或可以報告項目問題的任何地方。

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

keywords

關鍵字屬性是一組關鍵字,可幫助您識別項目或使用戶在搜索這些關鍵字時更容易找到您的項目。

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

自定義屬性

package.json文件還可以用于特定于軟件包的命令,例如Babel,ESLint,Jest等。您可以在包裝文檔中找到用法。

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"
    ]
  }}

結論

在本文中,我們已經能夠看到package.json文件是什么,如何創建文件,不同的屬性及其用例。


主站蜘蛛池模板: 日本xxwwxxww视频免费丝袜 | 福利卡—卡二卡三卡四卡 | 一区二区免费看 | 国内精品人妻无码久久久影院蜜桃 | 99re在线视频观看 | 久久综合影院 | 日本一区二区免费看 | 欧美噜噜| 亚洲欧美日韩另类精品一区二区三区 | 青青久在线视频免费视频 | 伊人久久综合成人亚洲 | 在线免费观看 | 福利卡—卡二卡三卡四卡 | 性生生活色欲片性按摩 | 国内国精产品一二三区传媒 | 国产精品xxxav免费视频 | 99久久综合狠狠综合久久 | 91在线中文 | AV天堂午夜精品一区二区三区 | 精品一区二区三区五区六区 | 国产重口老熟妇 | 天天精品在线 | 精品1区2区3区产品乱码 | 谁有三级网站 | 精品久久亚洲 | 中文字幕亚洲一区 | 亚洲.欧美.中文字幕在线观看 | 日本MV高清在线成人高清 | 亚洲午夜国产片在线观看 | 97蜜桃网 | www免费视频 | 国产精品久久久久久久久久妇女 | 97亚洲狠狠色综合久久位 | 亚洲天堂视频在线免费观看 | 性一交一乱一交A片久 | 亚洲综合色婷婷 | 亚洲精品久久久久久无码AV | 我们的生活第七季在线观看免费高清 | 天天射天天干天天 | 玩弄丰满少妇XXXXX性多毛 | 成人片在线视频 |