Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8945

node.jsとnpmとwebpack、nodenvとanyenvとは(初心者向け)

$
0
0

ここら辺の用語が今だに混乱するのでこの機会にまとめておきます。

node.js

昔node.jsでExpressを使ってシステムを組んだりした関係でJavaScriptをサーバサイドで使えるようにするもの、ぐらいの理解だったので、なぜフロントエンドでnode.jsが必要なのかわからなかった。

以下の方の説明がわかりやすかった。
https://qiita.com/kobalab/items/e0c2a3d5a9f4c172bad0

Node.jsとは、Google Chromeに搭載されている高速なJavaScriptエンジンV8をコマンドラインから使えるようにしたJavaScript言語処理系
要はjavaコマンドやperlコマンドと同じです。node hoge.js で hoge.js に書かれたJavaScriptのプログラムを実行します。node とだけタイプすると対話モードに入るので、インタフェースはshに近いといえるかもしれません。

つまり本来はブラウザでの動作に特化したJavascriptをJavaScriptエンジンV8を使ってUnix系で使うときに必要なもの。上記のインタープリター機能やnpmも含まれている。

なぜフロントエンド開発でもnode.jsが必要なのか調べたところ、
大量のフロントエンド向けjavaScriptのモジュールが下記のnpm向けに開発されていて、それを利用するためにnode.jsが必要だから、ということらしい

npmとは

node.jsのモジュール、パッケージ管理ツール。
パッケージ管理システムでNode Package Managerの意。
Node.jsをインストールすると一緒にくっついてくる。

Ruby的に言えば、npmはBundler、パッケージはGem、package.jsonはGemfileのようなもの?
例えばwebpackなどを管理する。

webpackとは

機能や関数単位ごとに別れたJavaScriptモジュールを一つのファイルに統合(バンドル)してくれるツールモジュールバンドラーと呼ばれています。
また、JavaScriptだけでなく、CSSや画像などのバンドルも可能。

nodenvとは

node.jsのバージョン管理ツール

anyenv

node.jsのnodenvやrubyのrbenvなどのバージョン管理ツールをまとめて管理してくれるツール。


Viewing all articles
Browse latest Browse all 8945

Trending Articles