package.json : Dosyası bir node.js projesi hakkında temel bilgileri depolamak ve en önemlisi projenin bağımlılıkları yüklü veya bu npm kayıt defterinden yüklü olmalıdır yönetmek için JSON biçimini kullanır. Ayrıca, projenizi oluşturmak ve çalıştırmak için komut dosyaları ve canlı yeniden yükleme sunucusu veya Sass ön işlemcisi gibi ilgili geliştirme araçlarını da içerebilir.

package.json Dosya nasıl oluşturulur?

Makinenize Node ve npm'yi kurduktan sonra package.jsonmanuel olarak veya npm initkomutu kullanarak bir dosya oluşturabilirsiniz .
Bu, varsayılan değerlerle komut package.json kullanılarak oluşturulan örnek bir dosyadır npm init:

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

Npm'den bir bağımlılık yükledikten sonra, örneğin:

$ npm install bootstrap

package.json dosyanın içeriği aşağıdaki olacaktır :

{
  "name": "e",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "^4.5.2"
  }
}

package.json, Node, Angular CLI, Vue CLI ve React Create App gibi çoğu Front-End aracına güç sağlamak için kullanıldığından  Front-End projelerinizde dosyayla çalışmanız gerekir.

package.json Dosyanıza Nasıl Yorum Eklenir?

JSON dosyalarında varsayılan olarak onları desteklemeyen yorumlara ihtiyacımız olup olmadığı hakkında devam eden bir tartışma var, ancak dosya dahil JSON dosyalarınıza yorum eklemek için kullanabileceğiniz birçok yol bulunuyor. Aşağıdaki örneği inceleyebilirsiniz. 

{
  "name": "e",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "^4.5.2"
  },
  "comments": {
    "dependencies": "We use Bootstrap 5, we will upgrade to v5 once is ready for production",
    "description": "Add a description",
    "license": "Still deciding MIT or BSD"
  }
}