node.jsの勉強(1) - 始めた
デスクトップアプリ以外作ったことなくて無知なものだからWeb関連の勉強何でとっかかるか迷ってたけど、Javaだと覚えること多くて重そうなので先にNode.jsやることにしてた メモル
思い出を頼りになんとなく書いてるから間違ってるかもしれない
ここまでにやったこと
- 作者: 掌田津耶乃
- 出版社/メーカー: マイナビ
- 発売日: 2014/03/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
↑の1章と2章読んだ。サポペここ
プロジェクト作る
新規プロジェクト → nodeプロジェクト
適当にプロジェクト名入れて完了すると、Hello, world的なものが既にできてる
サーバー起動とリクエスト受信部の分離
var server = require('http').createServer(); server.on('request', doRequest); function doRequest(request, response) { ... }
URLによって処理を分岐する
var path = require('url').parse(request.url); switch (path.pathname()) { case '/': var template = require('fs').readFile('template.html', 'UTF-8', function(error, data) { response.setHeader('Content-Type', 'text/html'); response.write(data); response.end(); } break; default: response.setHeader('Content-Type', 'text/plain'); response.write('page not found.'); response.end(); }
↑でちょっとハマったこと
setHeaderとかendとかswitchを抜けたあとにまとめて殺れば楽じゃんと思ったが、node.jsのメソッド非同期に実行されるからreadFile噛ませると読み込まれなかった。
非同期だっての忘れてて思い出すまでちょっと時間を要した
ejs
なんかJSPみたいな記法でテンプレートの中にJSコードとか書ける
> npm install ejs
require ejsしたらなぜかEclipseから読めなくてハマった。
node.js - NodeJS - How to resolve "Cannot find module" error - Stack Overflow
理由がわからんままだったけどコマプロからnpm install ejsしまくってプロジェクトパスにcdしてnode hello-worldなんとか.jsやったら動いたので、そのままコマプロのnodeを止めてEclipseで起動したら動いた
ejsファイルをシンタックスハイライト対応にしてみる
node.js - how do i get eclipse to interpret .ejs files as .html? - Stack Overflow
ウィンドウ → 設定 → なんとか
でできた