そうだなjsonの理解と学習
3534 ワード
一、初歩的な理解
`
:npm init , , package.json 。 , (name) (version) , 。
二、さらに理解する
完全なフィールドと説明アドレス以下は、vueプロジェクトを作成するときにnpm initが自動的に生成するpackageである.jsonは詳細な理解をする
1.次は最も簡単なpackageです。jsonファイル(2つのデータ、プロジェクト名、プロジェクトバージョンのみが必要で、なければinstallできません)
{
"name": "kocla_test",
"version":"1.0.0",
}
2.scripts
スクリプトコマンドを実行するnpmコマンドラインの略語を指定します.たとえば、startがnpm run startを実行するときに実行するコマンドを指定します.
以下の設定では、npm run dev、npm run bulid、npm run unit、npm run test_、npm run lint_を選択してもアクセスできます.
"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js",
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"test": "npm run unit",
"lint": "eslint --ext .js,.vue src test/unit/specs"
},
3.dependencies,devDependencies
dependenciesとdevDependenciesの2つで、それぞれプロジェクトの実行に依存するモジュール、プロジェクト開発に必要なモジュールを指定します.これらは、モジュール名と対応するバージョンで構成されるオブジェクトを指します.依存するモジュールとそのバージョン範囲を示します.saveパラメータは、モジュールをdependenciesプロパティに書き込むことを示します.save-devは、モジュールをdevDependenciesプロパティに書き込むことを示します.
"dependencies": {
"vue": "^2.2.2",
"vue-router": "^2.2.0"
},
"devDependencies": {
"autoprefixer": "^6.7.2",
"babel-core": "^6.22.1",
"babel-eslint": "^7.1.1",
"babel-loader": "^6.2.10",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-env": "^1.2.1",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
"chalk": "^1.1.3",
}
4.configフィールド
configフィールドは、環境変数に値を出力するために使用されます.
{
"name" : "foo",
"config" : { "port" : "8080" },
"scripts" : { "start" : "node server.js" }
}
5.enginesフィールド
このプロジェクトに必要なnodeを示す.jsバージョン
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
6.bin
多くのパッケージには、システムパスにインストールする実行可能なファイルが1つ以上あります.npmでは簡単です(実際にはnpmはこのように動作します).
これはあなたのpackageに必要です.jsonには、コマンド名とローカルファイル名のマッピングであるbinフィールドがあります.インストール時にグローバルインストールであれば、npmはシンボルリンクを使用してこれらのファイルをprefix/binにリンクし、ローカルインストールであれば./にリンクします.node_modules/.bin/.
たとえば、myappをコマンドとして使用する場合は、次のようにします.
{ "bin" : { "myapp" : "./cli.js" } }
そうするとmyappをインストールするとcliからnpmがjsファイルは、/usr/local/bin/myappへのシンボルリンクを作成します(これにより、コマンドラインでmyappを直接実行できます).