97

など、rc典型的なノード アプリケーションのさまざまなファイルに関していくつか質問があります。.npmrc.babelrc

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

Googleで検索するたびに、ここここに行き着きます。これはrcファイルを読み取るためのツールですが、それらが何であるか、またはそれらがどのように構築されているか、および/またはモジュールに接続されているかを説明していません。

どんな洞察も本当に役に立ちます。ありがとう

4

3 に答える 3

65

それでは、まず最初に、うまく尋ねました。

rcdotfiles は、使用、フォーマット、および全体的な意味が異なる構成ファイルです。ファイルを作成.[whatever name you like]rcして、たまたま作成しているパッケージに通知することができます (別のパッケージが同じパッケージを探していない場合)。通常、これらは、ソース コードに作用し、プロジェクトに固有の調整が必要なある種のツールに役立ちます。私の理解では、過去数年間、UNIX システムで重要な役割を果たした同様のファイルがあり、その考えは定着していません。

要するに:

  • それらはノードに固有のものではありません。
  • それらは単なる別のファイルです
  • 形式に関しては、ほとんど何でもかまいません — それは、それらを解析して読み取るために何を使用するかに依存します。YAML、JSON、および ini がおそらく最も一般的です (少なくとも私が見た限りでは)。
  • ほとんどの場合、それらは規則に従っているようです.[program or binary name]rc
  • package.jsonファイルには、構成に適した外部メタデータを含めることができます。プロジェクトが.rcファイルを期待するか、それを期待するかpackage.json(または、babel の場合のように両方) に依存します。

以下も参照してください。

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

.foorcJSON エンコーディングを使用するこのファイルを読みたいとします。

{
  "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 )を提供することもできます。

于 2016-03-25T00:47:26.540 に答える
23

NodeまたはBabelに固有のものではありませんが、*rcファイルは通常、Unixシステムの構成ファイルです

ウィキペディアより

構成ファイルは、設定を変更するだけでなく、多くの場合 ( "rc ファイル"の形式で) 起動時に一連のコマンドを実行します (たとえば、シェルの"rc ファイル"は、シェルにディレクトリを変更するように指示する場合があります。特定のプログラムの実行、ファイルの削除または作成 — シェル自体の変数の変更を伴わない多くのことで、シェルのドットファイルにはありませんでした)。この規則は、CTSS オペレーティング システムの「runco​​m ファイル」から借用したものです。

この機能は 、構成ファイルが実際には元のプログラムを書き換える、拡張する、またはカスタマイズする別のプログラムであるような、インタープリター言語で記述されたプログラムに対して拡張 できます。Emacs はその最も顕著な例です。

「rc ファイル」の「rc」命名規則は、上記の「runco​​m」機能に触発されたものであり、しばしば誤って推測される「リソース構成」「ランタイム構成」、または 「リモート コントロール」を表していません。

「rc」ファイルは、伝統的に「(.)rc」サフィックスで終わるファイルであり、関連するプログラムの構成情報として使用されるデータと情報が含まれています。通常、そのプログラムの名前は rc ファイルの名前の最初の部分であり、ファイルの目的を示すために"(.)rc" サフィックスが使用されます (例: ".xinitrc"".vimrc"".bashrc"" xsane.rc" .

そしてランコム

Unix: CTSS システム 1962-63 の runco​​m ファイルから、起動スクリプト /etc/rc を介して

アプリケーション プログラム(またはオペレーティング システム全体)の起動命令を含むスクリプト ファイル。通常は、システムの実行中に手動で呼び出されたものの、システムが起動するたびに自動的に実行されるコマンドを含むテキスト ファイルです。ドットファイルも参照してください。

言い換えれば、「rc」は 60 年代に定着したものであり、Node、Babel など、さまざまな種類のプログラムの構成ファイルとして頻繁に使用されてきました。

「rc」ファイルについて特別なことは何もなく、事実上あらゆる種類のデータを含めることができ、仕様やその他の制限はありません。

于 2016-03-25T00:40:15.653 に答える