読者です 読者をやめる 読者になる 読者になる

Node.jsことはじめ

Node.jsはじめました

再開しましたが正確。

背景

友人がreact試したいという要求があったので一緒に遊べる環境を構築することにした。 以下の条件で考えてみた。

  • RESTなAPIが作れる
  • WEBサーバーが作れる
  • 簡単である(Reactに手間を掛けたい)

なんやかんやで縁があってnodeにいきついた。

前提

  • json-serverというライブラリが楽らしい
    • jsonファイルかいて建てるだけ
    • CRUDな操作に対応
    • データの永続化も可能っぽい
  • Reactには書き方が独自DSL使うものとそうでないものの2種類あるらしい

やったこと

妄想

以下の構成で

  • ナマのnodeでweb/apサーバたてる(port: 3000)
  • web/apサーバから子プロセスをはやしてdbサーバとしてjson-serverたてる(port:3030)
  • 静的htmlファイルをおく(web/apサーバ側) port:3000想定
  • REST APIアクセス(port:3000)をいい感じにport:3030にパスする

コード

ざっとかいた。

var http = require('http');
var exec = require('child_process').exec;

exec('json-server db.json -p 3030');
console.log('db-server listen on port 3030')

http.createServer(function(req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World!');
}).listen(3000, 'localhost');
console.log('ap-server listen on port 3000')

懸念点

これ子プロセスはちゃんと落ちてくれるんだろうか?
誰がプロセスをもっててどうしたら落ちてくれるのだろう……?

ここで友人から連絡が

友人「json-serverってstaticなファイル返せるんだね」
僕「えっ」

json-serverにstaticなコンテンツを配信させる

You can use JSON Server to serve your HTML, JS and CSS, simply create a ./public directory.

GitHubのREADME.mdより

結論

ドキュメント嫁

react編、続くかも続かないかも。