14
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

#プログラミング勉強日記
2020年10月7日
package.jsonをよくわかっていないままnpmを使ってインストールしてたので、この機会に構造を学ぶ。

#package.jsonとは
 依存関係を示したファイルで、このファイルにプロジェクトに必要なパッケージの名前とバージョンを記述すればnpmが必要なパッケージをインストールする。
 package.jsonはnode環境のアプリの設定が書かれたファイルみたいなもので、Bundlerのようなもので、開発に使う依存ライブラリと本番で使う依存ライブラリを書くことができる。

 (RailsのGemfileみたいなものなのかな、、?こちらの記事でRailsのGemfileやGemfile.lockについて扱ってます)

#構造

デフォルトの構造
{
  "name": "express-app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

 これをもとに1つ1つ見ていく。

名前 説明
name アプリ名。それ以外に特に意味はない値。
version アプリのバージョン。更新したら数値を自分で手動で変える。
description アプリの説明。それ以外に特に意味はない値。
main npm run ~で起点となるファイル。明示的に使用する場合が殆どなのであまり利用しない。
scripts npm経由でプログラムを実行してくれる仕組み。|
keywords npmパッケージハブにアップした際の検索に利用。アップしないなら特に意味はない。
author アプリ制作者。アップしないなら必要ない。
license ソフトウェア・ライセンスを記載。アップしないなら必要ない。

##おまけ
 expressやmongodbなどをインストールすると以下のようになる。

{
  "name": "express",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.17.1",
    "moment": "^2.29.0",
    "mongodb": "^3.6.2",
    "mongoose": "^5.10.7"
  }
}

#npmを使ってインストールするとき
 npmを使ってインストールするときに、最後に--saveを付けるとpackage.jsonに書き込みされる。package.jsonに書き込むことで、他のパソコンにプロジェクトを送った時にnpm installのコマンドを入力するだけで、package.jsonに記述されたものがすべてインストールされるので便利。

#参考文献
npm/package.jsonの使い方
npmとpackage.json使い方

14
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?