package.json---解析
3396 ワード
昔はチェット大師のjavascript標準参考教程を見ました.前と隣の妹紙はdependenciesとdevDependenciesについて討論しましたが、やはり知識点を整理したいです.(道理を説明します.ブログを使って一ヶ月以上、知識点を整理しました.思い出せない時に調べに来ます.便利です.新しい技能get.[]~( ̄▽ ̄)~*)
各項目のルートディレクトリには、一般的に一つのpackage.jsonファイルがあり、項目を定義するために必要な各種モジュールと、プロジェクトの配置情報があります.npm installはこのプロファイルに基づいて、必要なモジュールを自動的にダウンロードします.つまり、プロジェクトを配置するために必要な運行と開発環境です.package.jsonファイルは手動で作成できます.npm initコマンドで自動的に生成できます.項目名とプロジェクトバージョンは必ず記入します.他は全部選択して作成します.
一番簡単なpackage.json
スクリプトフィールド
スクリプトコマンドを実行するnpmコマンド行の略語をscriptが指定します.
dependenciesフィールドは、プロジェクトの実行に依存するモジュールを指定します.devDependenciesフィールドはプロジェクト開発に必要なモジュールを指定します.バージョンを指定します.例えば、1.2.2、指定バージョン1.2.2 のみをインストールします.ウェーブナンバー(tilde)+指定バージョン:例えば、1.2.2より低い1.2.xの最新バージョンをインストールしないという意味ですが、1.3.xはインストールされません.小バージョンに影響を与えるだけのバージョン番号と同じです. 挿入番号(caret)+指定バージョン:たとえば^1.2.2、インストールが1.2.2以下の1.x.x最新バージョンではないことを示していますが、2.2 x.xはインストールされません.大きなバージョン番号に影響しないと同じです.大きなバージョン番号が0の場合、挿入番号と波番号の効果は同じです.セカンダリバージョン番号は変わりません. latest:最新バージョンをインストールし、モジュールがPackage.jsonファイルにまとめられていない場合は、このモジュールを単独でインストールし、該当するパラメータを使ってPackage.jsonに書き込むことができます. たとえば上のexpressモジュールをインストールします.–saveはモジュールをdependencies属性に書き込むと表しています.–save-devはモジュールをdevDependencies属性に書き込むと表しています.
peerDependencies
プロジェクトはAモジュールとBモジュールの1.0バージョンに依存すると仮定して、中にA:1.0、B:1.0と書くように依頼しますが、Aモジュール自体はBモジュールの2.0バージョンに依存しています.これはとても気まずいです.この場合は、Aモジュールに必要なメインツールのバージョンを指定するために、peerDependenciesを使うことができます.
binフィールド
binは、各内部コマンドに対応する実行可能ファイルの位置を指定します.
mainフィールドでロードされたエントランスファイルを指定します.require(‘moduleName’)はこのファイルをロードします.デフォルトはルートディレクトリのindex.jsです.
configフィールド
環境変数への出力値
browserフィールド
ブラウザ用のテンプレートのバージョンを指定します.
engiesフィールド
指定項目に必要なnode.jsバージョン
マンフィールド
現在のモジュールのman文書位置を指定します.
preferGlobalフィールド
このモジュールをグローバルモジュールにインストールしない場合、警告を表示しますか?
スタイルフィールド
ブラウザで使用するスタイルファイルの場所を指定します.
私は阮大師の文書を見て大体書きました.自分の記憶を深めます.先ほどのプロジェクトで依存問題に遭遇しました.本当に役に立ちました.すごいですリンク先:http://javascript.ruanyifeng.com/nodejs/packagejson.html#toc0
各項目のルートディレクトリには、一般的に一つのpackage.jsonファイルがあり、項目を定義するために必要な各種モジュールと、プロジェクトの配置情報があります.npm installはこのプロファイルに基づいて、必要なモジュールを自動的にダウンロードします.つまり、プロジェクトを配置するために必要な運行と開発環境です.package.jsonファイルは手動で作成できます.npm initコマンドで自動的に生成できます.項目名とプロジェクトバージョンは必ず記入します.他は全部選択して作成します.
一番簡単なpackage.json
{
"name":"aaa", //
"version":"0.0.0" // ( . . )
}
packageはJSONオブジェクトであり、対象の各メンバーは現在のプロジェクトの設定である.スクリプトフィールド
スクリプトコマンドを実行するnpmコマンド行の略語をscriptが指定します.
"script":{
"start":"node index.js",
"test":"tap test/*.js"
}
// npm run start , node index.js
// npm run test , tap test/*.js
dependenciesフィールド、devDependenciesフィールドdependenciesフィールドは、プロジェクトの実行に依存するモジュールを指定します.devDependenciesフィールドはプロジェクト開発に必要なモジュールを指定します.
{
"devDependencies":{
"browserify":"~13.0.0",
"babel-core":"^6.5.0"
}
}
// :
対応するバージョン: $ npm install express --save
$ npm install express --save-dev
peerDependencies
プロジェクトはAモジュールとBモジュールの1.0バージョンに依存すると仮定して、中にA:1.0、B:1.0と書くように依頼しますが、Aモジュール自体はBモジュールの2.0バージョンに依存しています.これはとても気まずいです.この場合は、Aモジュールに必要なメインツールのバージョンを指定するために、peerDependenciesを使うことができます.
{
"name": "chai-as-promised",
"peerDependencies": {
"chai": "1.x"
}
}
Aモジュール内部のパッケージに書き込みます.ということは、chai-as-promisedをインストールする時、chaiは一緒にインストールしなければなりません.プロジェクト指定の依存がchaiの2.0バージョンであれば、エラーが発生します.npmは3.0バージョンからpeerDependenciesを標準でインストールしません.-......binフィールド
binは、各内部コマンドに対応する実行可能ファイルの位置を指定します.
"bin":{
"someTool":"./bin/someTool.js"
}
//someTool bin someTool.js
メインフィールドmainフィールドでロードされたエントランスファイルを指定します.require(‘moduleName’)はこのファイルをロードします.デフォルトはルートディレクトリのindex.jsです.
configフィールド
環境変数への出力値
{
"name" : "foo",
"config" : { "port" : "8080" },
"scripts" : { "start" : "node server.js" }
}
//server.js引用フィールドの値http.create Server..listenbrowserフィールド
ブラウザ用のテンプレートのバージョンを指定します.
engiesフィールド
指定項目に必要なnode.jsバージョン
マンフィールド
現在のモジュールのman文書位置を指定します.
preferGlobalフィールド
このモジュールをグローバルモジュールにインストールしない場合、警告を表示しますか?
スタイルフィールド
ブラウザで使用するスタイルファイルの場所を指定します.
私は阮大師の文書を見て大体書きました.自分の記憶を深めます.先ほどのプロジェクトで依存問題に遭遇しました.本当に役に立ちました.すごいですリンク先:http://javascript.ruanyifeng.com/nodejs/packagejson.html#toc0