LoginSignup
50
57

More than 3 years have passed since last update.

初心者がNode.jsを使う(´・ω・`)

Last updated at Posted at 2019-03-06

この記事について

対象
対象:IT初心者「しょぼん君」image.png
説明
▶︎ 初心者向け、イメージを掴むキッカケになることが目的の記事
▶︎ 砕いた理解で、一部正確ではない場合があります。

しょぼん君のぼやき
しょぼん君:image.png『サーバーどーん!ウェブページばーん!ってしたい。』

Node.jsとは

Node.jsはサーバーサイドのJavaScript実行環境です。

image.png

しょぼん君:image.png『JavaScriptで書いたコードでサーバー側の処理が動いちゃうんだね。』

Node.jsのインストール と バージョン管理

導入方法は色々あるかと思いますが、今回は以下3ステップです。

1.Homebrewのインストール(Mac用のパッケージマネージャ)
2.Homebrew で nodebrewのインストール(Node.jsのバージョン管理ツール)
3.nodebrew で Node.jsのインストール

1.Homebrewのインストール(Mac用のパッケージマネージャー)

インストール.
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
バージョン確認.
$ brew -v

2.nodebrewのインストール(Node.jsのバージョン管理ツール)

インストール.
$ brew install nodebrew
バージョン確認.
$ nodebrew -v

バージョン確認が出来ない。そんな時は、.bash_profile等にパスを追加してみて下さい。

パスの追加.
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
$ source ~/.bash_profile

今回の本質ではありませんが、パスの追加について気になる方は以下で記事を書いているので、よければ参照して下さい。
▶︎ 初心者がパスを通す(´・ω・`)

3.Node.jsのインストール

最新版インストール.
$ nodebrew install-binary latest

※任意のバージョンをインストールすることも可能です。

ダンロード可能なバージョン一覧を表示.
$ nodebrew ls-remote
バージョンを指定してインストール.
$ nodebrew install-binary {version}
使いたいバージョンを有効化する.
$ nodebrew use {version}

しょぼん君:image.png『Node.jsはバージョンが違うと動かないこともあるらしいな。人のコードで実行することもあるだろうし管理できると便利そうだね』

Node.jsでJavaScriptファイルを実行してみよう

hello.js(JavaScriptのファイル)を作成
※console.log は標準出力に文字列を出力するJavaScriptのコマンドです。

hello.js
console.log("hello");
実行コマンド.
$ node hello.js

しょぼん君:image.png『Node.js で JavaScriptファイルを実行できることを確認できたね。』

Node.jsのモジュール

Node.js はインストールした時点で使える基本モジュールが用意されています。

モジュールは便利道具箱を沢山持ってるすごいヤツです。モジュール内の便利道具箱(オブジェクト)の便利道具(メソッド)を利用するには、require関数を使用して読み込む必要があります。

しょぼん君:image.png『ドラ○えもんがモジュールで、ポケットがオブジェクト、秘密道具はメソッド。ん、でもドラ○えもんとポケットって...(ry』

よしたまえ、ドラ○えもんの悪口はそこまでだ。

Node.jsでWebサーバーを立ててみよう

今回は、以下のモジュールを使ってみます。
・httpモジュール(通信系の便利ツールをまとめたもの)

コード内でやることは以下3ステップ。
①. httpモジュールを読み込む
②. httpから、サーバーのオブジェクトを作る
③. サーバーオブジェクトを待ち受け状態にする

server.js

//①
/* requireでhttpオブジェクトを読み込む*/
var http = require('http');

//②
/* httpオブジェクトのcreateServerメソッドを使って、変数「server」を「http.server」オブジェクトとする。*/
var server = http.createServer(
  function (request, response) {
    response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
    response.write('<h1>ウェブページばーん!</h1>');
    response.end();
  });

//③
/* http.serverオブジェクトのlistenメソッドを呼び出して、ポートを指定し待ち受け状態にしている。 */
server.listen(3000);

console.log('サーバーどーん!');

しょぼん君:image.png『秘密道具 http.createServer によって変数はserverは「http.serverオブジェクト」となったのだった・・・』

実行コマンド.
$ node server.js

以下URLにアクセスをして確認してみましょう。
http://127.0.0.1:3000

しょぼん君:image.png『サーバーどーん!ウェブページばーん!』

50
57
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
50
57