[解決済み] package.jsonにカスタムメタデータやコンフィグを追加したいのですが、有効でしょうか?
質問
アンダースコアで始まるカスタムキーを持つ package.json ファイルを見たことがあります(場所を覚えていません)。
{
"name": "application-name"
, "version": "0.0.1"
, "private": true
, "dependencies": {
"express": "2.4.7"
, "jade": ">= 0.0.1"
}
, "_random": true
}
これは許可されているのですか? それはまだ有効ですか? これが許可されている場合、ルールに関するドキュメントはありますか?
ありがとうございます!
どのように解決するのですか?
tl;dr :
-
はい。
を使用することができます。
にカスタムエントリを追加することができます。
package.json
. -
キー名を選択します。
- 定義されていない (詳細は後述)
- 予約不可 将来使用するため(詳細は後述)
-
避ける
接頭辞
_
と$
- で、できれば を使用する。 シングル トップレベルキー を含む ネスト カスタムエントリ .
例) ドメインを所有している場合
example.org
を所有している場合、カスタム
random
キーを次のように格納できます。
で逆ドメイン名表記されたトップレベルキーの中に
_
に置き換えて
.
で、該当する場合は
-
(コメント参照)
(例
org_example
):
{
"name": "application-name"
, "version": "0.0.1"
, "private": true
, "dependencies": {
"express": "2.4.7"
, "jade": ">= 0.0.1"
}
, "org_example": {
"random": true
}
}
このようなカスタムプロパティを読み込むには、以下のテクニックを使います。
require("./package.json").org_example.random // -> true
npm
's
package.json
ファイルフォーマットは、ほとんど
CommonJS パッケージ仕様
:
-
というキー
npm
が現在使用している : https://docs.npmjs.com/files/package.json - 仕様で定義されたキー : http://wiki.commonjs.org/wiki/Packages/1.1
については カスタムキーの選択 については CommonJSのパッケージ仕様 に記載されています(強調)。
<ブロッククオート以下のフィールドは 予約済み に対して 未来 を拡張します。
build
,default
,external
,files
,imports
,maintainer
,paths
,platform
,require
,summary
,test
,using
,downloads
,uid
.
パッケージ記述子仕様の拡張は 一般的なパッケージ管理に関連する意味を持たない無難な名前でプロパティの名前間隔を空けることにより、将来の標準的な名前の衝突を避けるよう努力する。 .
<ブロッククオート
以下のフィールドは
パッケージレジストリ用に予約されています。
で、その裁量で使用することができます。
id
,
type
.
すべて
で始まるプロパティは
_
または
$
も予約されています。
をパッケージレジストリの裁量で使用することもできます。
関連
-
[解決済み】Heroku + node.jsのエラー(Webプロセスが起動後60秒以内に$PORTにバインドできなかった)。
-
[解決済み] NPMが同じエラーで固まる EISDIR: ディレクトリに対する不正な操作、エラーで読み込み (ネイティブ)
-
[解決済み] ノードのバージョンを管理するためのnまたはnvm - 各バージョンのグローバルモジュールを保持することは良いアイデアですか?
-
[解決済み] npm WARN package.json: リポジトリフィールドがありません
-
[解決済み] package.jsonのチルダ(~)とキャレット(^)の違いは何ですか?
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?
-
[解決済み] nodejsのコードでpackage.jsonからバージョンを取得する方法はありますか?
-
[解決済み] Node.jsのNPMモジュール(package.json)のdevDependenciesのインストールを防ぐにはどうすればよいですか?
-
[解決済み] package.jsonの中から環境変数を設定する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 再インストールを繰り返しても、npm run でモジュール 'sass' が見つからない。
-
[解決済み】モジュール '@babel/core' が見つかりません。
-
[解決済み】Mongooseで配列の値を更新する方法
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] Expectアサーションの型エラー -> expect(...).toExistは関数ではない
-
[解決済み] E: npm パッケージを見つけることができません。
-
[解決済み] Npmエラー - Windows NT - 解決方法
-
[解決済み] S3 Bucket に何かを送信しようとすると、AWS Missing credentials が表示される (Node.js)
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み] Macでポート3000をロックしているプロセスを見つける(そして殺す)【終了