Node.js始めました
JavaScript
フロントエンドかバックエンドどっちがやりたいかって聞かれると、フロントエンドがやりたい!って思うのに、JavaScriptをまともに書けないとかいう矛盾した感じを何とかしたくて、JavaScript力を上げることにした。
練習として、
サーバサイド : Node
Webアプリケーションフレームワーク : Express
テンプレートエンジン : EJS
を使った、はてなダイアリーのようなものを作ってみたいと思う。
(このテキストが分かりやすかったので、これのJavaScript版を作ってスキル身につけたい) github.com
HomebrewでNode入れるところから始めて、3時間くらいでデータベースから読み込んでテンプレート使って表示が出来るWebアプリが出来た。 (idとtextをMySQLから引いてきてるだけだけど)
最終的に、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