1. ホーム
  2. javascript

[解決済み] nodejsの`rc`ファイルとは何ですか?

2023-01-30 18:54:50

質問

いろいろと質問があるのですが rc のような典型的な node アプリケーションの .npmrc , .babelrc など。

  • rc ファイルとは何ですか?モジュールのランタイム設定であることは知っていますが、他に何かありますか?
  • rc ファイルは次のようなものでなければならないのでしょうか? .[module]rc という命名規則に従う必要があるのでしょうか、それとも単に推奨フォーマットなのでしょうか?
  • サポートされている形式は何ですか?yaml と json の両方の形式を見たことがありますが、モジュールが使用するリーダーに依存するのでしょうか?
  • モジュールの観点から rc ファイルにアクセスする方法は?として命名することは [module]rc と名付けると、自動的にモジュールから利用可能になるのでしょうか?もしそうなら、それはどこで利用できるようになるのでしょうか?
  • それとも、モジュールは、モジュールを使用しているアプリから他のファイルと同じようにファイルにアクセスし、理解可能な形式であることを期待するべきですか?(これは、私が今やっていることで、jsonフォーマットです。)
  • を要求している人を見たことがあります。 package.json を要求している人もいます。どちらがおすすめかというと package.json とrcファイルのどちらがお勧めですか?
  • のような javascript ファイルとどのように違うのでしょうか? gulpfile.jsmodule.exports ? (推奨という意味です。もちろんjsファイルとrcファイルの違いや利点は知っています)

私はgoogleで検索するたびに、私は最終的に ここで とか はこちら は、rcファイルを読むためのツールですが、それらが何であるか、それらがどのように構築され、そして/またはモジュールに接続されているかについては説明されていません。

どんな洞察でも本当に役に立つでしょう。ありがとうございます。

どのように解決するのですか?

ではまず、よくある質問です。

rc dotfiles は設定ファイルであり、その使用方法、書式、そして全体的な意味において様々なものがあります。あなたが作成できるのは .[whatever name you like]rc ファイルを作成し、作成中のパッケージに通知することができます (ただし、他のパッケージが同じものを探していないことが前提です)。通常は、以下のように動作する何らかのツールに有用です。 で動作し、プロジェクトに特有のチューニングが必要なツールに有用です。私の理解では、過去数年間、UNIX システムで重要な役割を果たした同様のファイルがあり、そのアイデアが定着しています。

要するに

  • ノードに特化したものではありません。
  • 別のファイルである
  • フォーマットに関しては、ほとんど何でも可能です - それはただ、それらをパースして読むために何を使うかに依存します。YAML、JSON、そしてiniがおそらく最も一般的でしょう(少なくとも私が見た限りでは)。
  • ほとんどの場合、これらは次のような規約に従っているようです。 .[program or binary name]rc
  • package.json ファイルには、設定に適した外部メタデータを含めることができますが、それはプロジェクトが .rc ファイルを期待するか、あるいは package.json に期待するか (あるいはその両方、babel の場合)

も参照してください。

信じられないほど単純な例として

例えば、次のような文章を読みたいとします。 .foorc ファイルを読みたいとします。

{
  "cool": true
}

こんな感じでいいんじゃないでしょうか。

'use strict';
const fs = require('fs');
fs.readFile('./.foorc', 'utf8', (err, data) => {
  if (err) throw new Error(err);
  console.log(JSON.parse(data));
})

これを行うには、はるかに、はるかに良い方法がありますが、自分で書くか、YAML、iniなどのパースをサポートし、APIの他の素晴らしいビットを提供するパッケージを見つけるのは簡単です(例えば。 rc )