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.