Emacs勢は何でもEmacsでやりたがります。
当然WEBサーバだって作りたがるわけです。
最初の例_単独で駆動させる
(defun my-elnode-hello-world-handler (httpcon) (elnode-http-start httpcon 200 '("Content-Type" . "text/html")) (elnode-http-return httpcon "<html><body><h1>Hello Elnode!!</h1></body></html>")) (elnode-start 'my-elnode-hello-world-handler :port 8028 :host "localhost")
M-x eval-buffer
これでブラウザで確認できます。
M-x elnode-stop<RET>8028
で止められます。
この形式だと、
$ emacs -l -p app.el
で呼び出すだけで実行可能です。
この場合はemacsを閉じると止まります。
次の例_ちゃんとemacs-lispっぽく書く
先ほどの例だと全部入りな上、必要な時に呼び出せないので書き換えます。
(defun my-elnode2-handler (httpcon) (elnode-http-start httpcon 200 '("Content-Type" . "text/html")) (elnode-http-return httpcon "<html><body><h1>Hello Elnode Sample2!!</h1></body></html>"))
M-x eval-buffer
の後、
M-x elpa-start<RET>my-elnode2-handler<RET>8000<RET>localhost
でブラウザで確認できます。
この形式にすれば別のelファイルから呼び出せます。
自動化や便利ツールの作成が捗りますね...ッ!
続きは公式チュートリアルで!
その他の例は公式チュートリアルからどうぞ。
等々、愉快な
elnode/elnode_tutorial.creole at master · nicferrier/elnode · GitHub
elnodeの末恐ろしいこれから
node.jsにインスパイアされたとあって、
実装は全体的にイマドキな感じです。
現行バージョンは0.9.9です。
将来バージョンである1.0.0では
- Vagrant仮想イメージ
- Amazon EC2用仮想イメージ(AMI)
- herokuで動作
に対応するなどと
脳味噌が溶けてるとしか思えない発言があり恐怖に震えています。