読者です 読者をやめる 読者になる 読者になる

望月いちろうのREADME.md

書き溜めておいた技術記事や旅行記のバックアップです。

Node.js | package.jsonの仕組み

JavaScript Node.js Express

f:id:mochizuki_p:20161005031521j:plain

package.jsonとは?

Node.jsアプリケーションのパッケージ管理を行うファイル

express-generatorを利用してNode.jsのプロジェクトを初期化するとpackage.jsonと言う名前のファイルを見つけることができる。

f:id:mochizuki_p:20170119171258p:plain

このファイルの正体は何なのでしょうか?

それはNode.jsの外部パッケージファイルを管理するためのツールです。

実際に中身を見てみましょう

{
  "name": "test",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.13.2",
    "cookie-parser": "~1.3.5",
    "debug": "~2.2.0",
    "ejs": "~2.3.3",
    "express": "~4.13.1",
    "morgan": "~1.6.1",
    "serve-favicon": "~2.3.0"
  }
}

name

Node.jsアプリケーションの名前を定義します。

最初にExpress-generatorでtestと入力したので、testとなっています。

version

アプリケーションのバージョンを入力します。最初は0.0.0となっています。

private

このアプリケーションがプライベートモードか公開段階か?をしていします。もしtrueならばプライベートモードです。

scripts

npm *

を入力したときに実際に起動するシェルスクリプトをここに記述します。

ここではstartに

node ./bin/www

が指定されているので

npm start

としたときに

node ./bin/www

が起動します。

dependencies

使用するライブラリをすべてここに記述する必要があります。

単純にコンマ区切りの数字を入力した場合は、特定のバージョンを、もし最初に~を入れておけば、すくなくとしていしたバージョン以上で、最新のバージョンをインストールします。

body-parser

  • application/x-www-form-urlencoded
  • application/json

以上の形式のフォームデータを受け取り、結果をreq.bodyに格納します。 なお画像や動画などのバイナリデータを受け取るためのmultipart-formdataには対応していないので注意してください。

cookie-parser

ExpressでCookieを利用できるようになります。 Cookieの値はreq.cookiesに格納されています。

debug

Expressでのデバッグに使用します。

ejs

Express用のテンプレートエンジンです。

express

Node.jsのRESTfulフレームワーク・Express本体です。

morgan

http周りのログを担当します。

serve-favicon

faviconを利用するために必要です。 なお、faviconとはブラウザのURLの左横に表示されるサイトロゴ用のアイコンです