Node.js
npm
webpack
YARN

nvm, Node.js, package.json, npm, yarn, webpackの違いについて

Node.jsを使おうとすると、nvmnpmyarnpackage.jsonなど色々な横文字が出てきて大変だったので、それらについてザックリとまとめてみました。
間違いなどがあった場合はコメントいただけると幸いです。

nvm

nvmとは、Node Version Managerの略で、Node.jsのバージョン管理するパッケージになります。
Node.jsは多くのバージョンがリリースされています。nvmNode.jsを管理することで、Node.jsのバージョン管理が簡単になります。

Node.js

Node.jsとは、サーバーサイドのJavaScriptになります。
詳細は以下の記事を参考にしてみてください。
https://qiita.com/hshimo/items/1ecb7ed1b567aacbe559

npm

npmとは、Node Package Managerの略で、Node.jsで作られたパッケージやライブラリを管理するツールになります。
パッケージマネージャーとはライブラリやパッケージの管理ツールのことです。 パッケージマネージャを使うことで、使いたいライブラリの導入や削除を簡易にしたり、パッケージ同士の依存関係を管理することができます。

package.json

package.jsonは、パッケージの依存関係を記述したjsonファイルになります。
このファイルに、プロジェクト毎に必要なパッケージの名前とバージョンを記述すれば、npmが自動で必要なパッケージをインストールしてくれます。
インストールしたパッケージが依存しているパッケージや、さらにそれが依存しているパッケージも自動でインストールしてくれるので、開発環境ごとにインストールさえるパッケージが違うということが起こりません。

yarn

yarnとはパッケージマネージャーのnpmの上位互換のようなツールです。
yarnを使うとnpmの以下の課題を解決することが可能です。

  • インストールが遅い
  • インストール結果に一貫性がない
  • セキュリティ上の懸念がある

yarnnpmで管理されているパッケージになります。
また、package.jsonに対応しているので、npmpackage.jsonを使っている場合はすぐに移行できるようです。

webpack

webpackは、Webアプリケーションに必要なリソースの依存関係を解決し、CSSやJavaScriptなどのアセットを生成するビルドツールです。
Webアプリケーションのビルドツールは他にも、GruntGulpと呼ばれるものが有名です。GruntGulpなどはここでは説明しないので、興味があれば調べてみてください。
webpacknpmで管理されているパッケージになります。

参考にしたサイト

Node.js を5分で大雑把に理解する
パッケージマネージャのnpmとは
npmとpackage.json
yarn (+ webpack) を使ってみる
webpack で始めるイマドキのフロントエンド開発