Node.js 超初心者勉強会 in 大阪 #onsb
@null #onsb 「npm install -g express」で express をインストールできる。 -g を付けるとどこからでも使えるようにグローバルにインストールされる。付けないときはローカル(アプリ内?)にインストールされる。
2013-03-08 20:01:12@null #onsb -g でインストールしても nodebrew use でバージョンを切り替えると使えない。バージョンに紐付いたグローバルにインストールされる。nodebrew migrate-package すると別バージョンのグローバルパッケージをインストールできる
2013-03-08 20:04:31@null #onsb 「express express_app」で express_app というディレクトリに express アプリを作る。express_app ディレクトリに cd して「npm install」すると必要なパッケージがダウンロードされる。
2013-03-08 20:07:03@null #onsb 今作ってるアプリ(これもひとつのパッケージ)の情報は package.json に書かれている。application-name は好きに変えてよい。README.md を作ると最初の WARN もなくなる。
2013-03-08 20:10:05@null #onsb node_modules/ さっきインストールした依存パッケージ。app.js 最初に実行するファイル。
2013-03-08 20:17:11@null #onsb views/layout.jade がテンプレート。views/index.jade がindexページの埋め込み。routes/index.js で title に "Express" を入れて index.jade を読み込んでいる。
2013-03-08 20:18:30@null #onsb views/index.jade でビュー、routes/index.js で変数を編集すると表示を変えられる。
2013-03-08 20:21:19@null #onsb jade はデフォルトのテンプレートエンジン。嫌い。ejs や jshtml というテンプレートエンジンにも切り替えられる。express -help
2013-03-08 20:22:57@null #onsb express() でアプリケーション作成。app.configure() で設定。app.get() で呼ばれたパスと処理する .js の紐付け。routes.index は routes/index.js の中の exports.index の名前
2013-03-08 20:27:10@null #onsb app.get('/', function(req, res){ … }); という書き方もできる。
2013-03-08 20:28:40@null #onsb app.get('/hello', routes.hello); して exports.hello を作れば http://127.0.0.1:3000/hello でアクセスできる
2013-03-08 20:28:44@null #onsb 毎回 node app.js するのが面倒な人は npm install -g supervisor して supervisor app.js するとNodeファイルの変更をウォッチしてくれる。再起動する必要がなくなる。
2013-03-08 20:30:47@null #onsb 今度はセッションを使って(-s) ejsというテンプレートエンジンを使った(-e) プロジェクトを作る。「express expressEjs -s -e」
2013-03-08 20:34:37@null #onsb ディレクトリ構成は変わらない。 views/index.jade のかわりに views/index.ejs になっている。
2013-03-08 20:37:09@null #onsb app.js のconfigureで view engine が ejs になっている。jadeより見やすいテンプレートエンジン。こっちの方が好き。
2013-03-08 20:40:06@null #onsb 未来の Node.jser のために。例えば less をインストールするとき、「npm install less --save」として package.json にパッケージ情報(バージョン情報)を書き出してほしい。そのためのオプション --save
2013-03-08 20:42:40@null #onsb 明示的に「npm install less@1.3.2 --save」すれば 1.3.2 がインストールされ、package.json にも 1.3.2 が出力される。アンインストールは「npm uninstall less --save」
2013-03-08 20:44:50@null #onsb https://t.co/vADyXT3Quj をcloneして npm install して node app.js でサンプルを実行。ログインは kamiyam
2013-03-08 20:49:09@null Q: 全部 routes/index.js に書いていく? A: 大規模になると大変なので自前で分ける必要がある #onsb
2013-03-08 20:54:38@null #onsb req.session → セッションオブジェクト。indexでは userName があれば home にリダイレクト、なかったら index を出力。views/index.ejs は見た通り(ログイン情報をPOSTする)
2013-03-08 21:04:33@null #onsb app.js の app.get() はGETメソッド、app.post() はPOSTメソッド。
2013-03-08 21:05:32