node.js勉強(2)
とりあえず↓の3章読んだ。忘れないうちに要点だけメモル
- 作者: 掌田津耶乃
- 出版社/メーカー: マイナビ
- 発売日: 2014/03/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
npm install cookie
でcookieモジュールが使える。これのparseメソッドはcookieをパースして文字列だったものをオブジェクトに変える
「lasturl=/hoge」みたいなクッキーがあった場合、
var cook = require('cookie'); ... var cobj = cook.parse(req.headers.cookie); console.log(cobj.lasturl);
みたいな風に使える。
逆に、serializeメソッド - cookie.serialize(keyname, value, {someKey: someOptionValue})的な書き方で、cookieにセットする。
Jade
> npm install jade
テンプレートエンジン。
htmlはキーワードとインデントで書いておき、それをjade.comple(file-content)でHTMLをレンダリングする関数を返す。
この関数に対して、レンダリング時に引数を渡せばコンテンツの内容は可変になる
doctype html head title サイトの標題 body h1 ようこそ p テストサイトにようこそ
htmlのタグのほか、for、if、case~whenなど制御構文を記述できる
Jadeでより少ない手数で開発するには、ほかのjadeファイルをincludeするか、拡張する
この場合、たとえばincludeなどのサブフォルダーに部品jadeを切っておき、コンパイルするときにそのファイルパスに関する情報を渡す。レンダリングするときじゃない。
var jade = require('jade'); var f = jade.compile(index, { filename: "include", rootpath: __dirname });
- filenameにはincludeなどの相対パス
- rootpathにはプロジェクトの?基底のパス。__dirnameはCWD
Jadeで開発を省力化するには - includeを使う
- SSIみたく部分部品をテンプレートに取り込める。共通部品を書き込むのに使う感じか。
部品を取り込みたい場所にinclude命令を書く。引数は「include/jadeの拡張子なしでベース名」
Jadeで開発を省力化するには - 継承を使う
- 継承とは、ページ全体の展望をドカッと書いておいて、個別部分だけに差分を用意することであるみたい。使いどころとしてはincludeよりさらに大粒なところになるんだろうか
個別部分はブロックとして宣言しておき、拡張されたjadeがblockをオーバーライドする。
base.jade
doctype html head ... body block content
extended.jade
extends include/base block content 差分コンテントです