node.jsとは
javascriptは本来ブラウザでのみ実行可能な言語である。
しかしnode.jsを使えば、PCやサーバなどのマシン上でJavascriptを実行することが可能になる。(ブラウザ以外でもjavascriptを実行可能)
javascriptはv8
というエンジンで実行することができ、ブラウザにはこのv8
のエンジンが組み込まれている。しかし、node.jsにもv8
のエンジンが組み込まれているため、javascriptを実行することができる。
javascriptの実行の流れ
① javascriptのコードをv8
のエンジンが読んで、機械語に変換する。
② CPUやRAMは変換された機械語の実行する。
javascriptの実行環境の違い
① ブラウザ
ECMAScriptを使用
Web APIを使用可能
② node.js
CommonJSを使用
Web APIは使用不可
node.jsの利用場面
・Webサーバとして利用可能
・フロントエンドのビルド環境として利用可能
node.jsのバージョンの意味
偶数バージョン
・長期サポートが行われているバージョン
・以下の3つのStopの期間が設けられている。
step | 内容 |
---|---|
current | 重要ではない変更事項の対応期間 |
active | 新しい昨日の追加やセキュリティのバグの修正を行う期間 |
maintenance | 脆弱性に対応する習性が発生する場合の期間 |
奇数バージョン
試験的に行われているバージョン(新しい機能を追加するためのバージョンであるため長期サポートはなし)
node.jsでのモジュール
nodejsでは複数のモジュールを管理することができる。
モジュールは、ソースコードを機能ごとに分割した一つの単位のこと。
javascriptだと、一つのファイルごとに機能を分割したことを意味する。
nodejsでは基本的にはCommonJsとESmoduleの方式でモジュールを管理している。
CommonJsでモジュールを作成する際には、拡張子をXXX.cjs
にすること。
ESmoduleを利用したい場合は、package.jsonに以下のように追記する。
{
"type": "module"
}
または、ファイルの拡張子をXXX.mjs
にする。
CommonJs
・node.jsの独自の仕組み(ESmoduleが発表される前から使用)
・ブラウザでは使用不可
・module.export, requireと記載してmoduleとして利用する。
ESmodule
・ECMAScriptの標準
・ブラウザで使用可能
・nodejsで使用する場合には、明示的に指定する必要がある。
・export, importが使える。