1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事ではNode.jsのパッケージマネージャであるNPM(Node Package Manager)と、NPMの設定ファイルであるpackage.jsonについて解説します。

そもそもNPM is 何

ザックリいうとNPM(Node Package Manager)はNode.jsのパッケージ管理を担当してくれるツール。

例えばReactやVue、またサーバーサイドのExpressなどのライブラリやフレームワークをインストールする際に使います。

これらのライブラリやフレームワークは複数のファイルやディレクトリで構成されているため、それらを一括でダウンロードして管理してくれるパッケージ管理を行ってくれるのがNPMです。

Pythonではpip、Rubyではgem、PHPではcomposerなど、他の言語にもパッケージ管理ツールは存在するので他の言語で使ってた方はそんなものだと思ってもらえると。

基本的な使い方

初期化

初期構築は誰かが行ってくれていることが多いですが、自分で行う場合は以下のコマンドで初期化します。

$ npm init

このコマンドを実行すると、対話形式でpackage.jsonを作成するための情報を入力することができます。

パッケージのインストール

package.jsonがあるディレクトリで以下のコマンドを実行すると、package.jsonに記載されているパッケージをインストールします。

$ npm install

一方で上記のコマンドではpackage.lock.jsonが生成されるため、実際には以下のコマンドを使うことが多いです。

$ npm ci

パッケージの追加

プロジェクトに新たにパッケージを追加する場合は以下のコマンドを実行します。

$ npm install -save <package-name>

このコマンドでは商用環境で使うパッケージの場合は-saveオプションをつけます。

テストやモックの作成、lintなどの開発環境でのみ使うパッケージの場合は-save-devオプションをつけましょう。

$ npm install -save-dev <package-name>

このオプションを追加すると、package.jsondependenciesではなくdevDependenciesにパッケージが追加されます。

パッケージのアップデート

パッケージのアップデートは以下のコマンドで行います。

$ npm update

スクリプトの実行

package.jsonにスクリプトを記述しておくと、以下のコマンドでスクリプトを実行することができます。

$ npm run <script-name>

package.jsonに記載するスクリプトの例を以下に示します。

{
  "scripts": {
    "start": "node index.js",
    "test": "jest"
  }
}

この場合、npm run startnode index.jsが実行され、npm run testjestが実行されます。

スクリプトのちょっとしたテクニック

npmのスクリプトにはpost, preというプレフィックスがあります。

例えば、startスクリプトの前にprestartスクリプトを実行したい場合は以下のように記述します。

{
  "scripts": {
    "prestart": "echo 'prestart'",
    "start": "node index.js"
  }
}

この場合、npm run startを実行すると、まずprestartスクリプトが実行され、その後startスクリプトが実行されます。

同様に、postプレフィックスを使うことで、スクリプトの後に処理を追加することもできます。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?