Node.js始めました

JavaScript

フロントエンドかバックエンドどっちがやりたいかって聞かれると、フロントエンドがやりたい!って思うのに、JavaScriptをまともに書けないとかいう矛盾した感じを何とかしたくて、JavaScript力を上げることにした。

練習として、

サーバサイド : Node

Webアプリケーションフレームワーク : Express

テンプレートエンジン : EJS

を使った、はてなダイアリーのようなものを作ってみたいと思う。

(このテキストが分かりやすかったので、これのJavaScript版を作ってスキル身につけたい) github.com

HomebrewでNode入れるところから始めて、3時間くらいでデータベースから読み込んでテンプレート使って表示が出来るWebアプリが出来た。 f:id:yuki_tkd:20150706230039p:plain (idとtextをMySQLから引いてきてるだけだけど)

github.com

最終的に、VPSにデプロイしてポートフォリオサイトとして使えるWebアプリ作りたい。

感じたこと

ネスト深い

JavaScriptはイベント駆動なので、どうしてもネストが深くなってしまう。 これはJavaScript力がもっとあれば綺麗に書けるらしいし、今後はTypeScriptも導入していく予定なので、今のところは気にしないで行こう。

ORM

今はSQLをベタで書いてるんだけど、nodeのORMって何がいいんだろ。

node-dev便利

app.jsを立ち上げるとき、普通に

$ node app.js

すると、jsファイルに更新かかってもリロードされなくて不便。 node-devっていうのをnpmで入れておくと、

$ node-dev app.js

ってするだけで、更新があれば自動でリロードしてくれる。

node-devはデフォルトだとjsファイルしかトラッキングしないので、templateの中身変えても更新かからないので注意。(ハマった)

それから、node-devは更新するたびにMacの通知を送ってくるので、気になるならオフにしたほうが良い。

オフにするには、.node-dev.json

{
    "notify": false
}

って書いておけばOK