何かと目にすることが多いが、いまいち概要がつかめていなかったNode.jsとnpm。ざっくりとですがまとめてみました。詳細は、今後学習する中で更新していきたいと思います。
##(前置き)JavaScriptとは
ブラウザ上で動くために開発されたプログラミング言語。コンテンツに動きをつけたり、DOM要素をいじったりすることができる。
・クリックしたら特定の位置まで画面がスクロールされる
・ポップアップで注意事項を表示する
等々のことが実装できる。
パソコン上で動くわけではないので、PHPやRubyなどのサーバーサイドの言語と異なり、OS上のファイル等にアクセスすることはできない。
##Node.jsとは
サーバサイドのJavaScript実行環境。
Node.jsではJavaScriptでOSの機能にアクセスするプログラムを組むことができる。それにより、ブラウザ上で動作していたときはできなかった、自由なファイルの読み書き等ができるようになる。
また、クライアントサイドの(ブラウザで実行する)JavaScriptの開発環境としても使用されている。
個人的に感じた使用する理由は以下の通り
・jsのバージョン変換のツールであるBabelを使用するため
jsはバージョンの更新により新しい機能が追加されている。しかし、ブラウザの使用がついてきておらず、うまく動作しないことがある。
そこで、「新バージョンのjsで記述したもの」を「旧バージョンのjsで記述したもの」に変換して使用するという方法がとられることが多い。
・jsファイルを分割・統合するwebpackを使用するため
記述量の増加に伴い、どこに何が書いてあるかが分かりづらくなってしまい、メンテナンスがしにくくなってしまう。そこで、ファイル毎に記述内容を分別し、最終的にそれらのファイルをまとめてしまい読み込む。
・Sassをコンパイルするため
##npmとは
Node.jsのパッケージ管理ツール。
パッケージとは、Vue.js、React、jQuery、webpack等のフレームワークやライブラリなどのこと。
Node.jsで使いたいフレームワークやライブラリがある場合、npmを用いてターミナル上でインストールして使用する。