Główne logo strony
Node.js

Odczyt wartości z package.json


Czy wiesz, że możesz odnosić się do wartości zdefiniowanych w pliku package.json bezpośrednio w definicjach skryptów npm/yarn? To świetne rozwiązanie, które pomaga uniknąć powtórzeń, szczególnie w większych projektach.

Przyjrzyjmy się przykładowi:

{
  "name": "my-package",
  "config": {
    "src": "./src/*"
  },
  "scripts": {
    "lint": "eslint $npm_package_config_src",
    "test": "jest $npm_package_config_src"
  }
}

W powyższym przykładzie zdefiniowaliśmy ścieżkę ./src/* jako część konfiguracji i odnosimy się do niej w skryptach lint i test. Dzięki temu, jeśli ścieżka ulegnie zmianie, wystarczy zaktualizować ją tylko w jednym miejscu.

Dodatkowo, wartości z package.json są dostępne również w Node.js poprzez process.env, gdy uruchamiasz skrypty za pomocą yarn:

// package.json
{
  "foo": "bar",
  "scripts": {
    "start": "node index.js"
  }
}
// index.js
console.log(process.env.npm_package_foo); // 'bar'

Kiedy uruchomisz yarn start, plik index.js będzie miał dostęp do wartości z package.json poprzez process.env.

Losowy shortKolejny short: Node.js