twitter-bootstrap-nodeを作ってnpmに公開したまでの記録
最近ちょっとしたツールを作る時にお世話になっているTwitter Bootstrap。
node.jsのexpressで扱おうとすると自分でbootstrapをダウンロードして、解凍して、expressとbootstrapでJavaScriptやCSSのディレクトリ命名規則が違うのが気になってもやもやしつつ、設置して、templateを直して(略
と、結構めんどくさい。
expressをinstallするとprojectのひな形を作ってくれるコマンドがあるのでそれが勝手にbootstrapを配置して動くようにしてくれないかなと思ったのが始まり。
https://github.com/takimo/twitter-bootstrap-node
インストールは
$ npm install -g twitter-bootstrap-node
新しくプロジェクトを作りたかったら
$ twitter-bootstrap project
こんな感じに作ると以下のようになります。
あとはprojectに移動して、必要になるnpmをインストールしましょう
$ cd project && npm install
これで使えるようになったので起動します
$ node app.js
ここからは裏話。
自分が作ったpackageを公開したい場合はざっくり書くと
- package.jsonを用意する
- npm adduserコマンドでユーザー登録を済ませ
- npm publishで公開
githubのページのURLもpackage.jsonに登録できるのでgithubに公開しておいた方がいいと思いました
よく他のnpmで"npm install -g hogehogeして使ってね!"というのはpackage.jsonでコマンド名と実コマンドファイルを結びつけておいてあげる必要があって
"bin": { "twitter-bootstrap": "./bin/twitter-bootstrap" },
このように書いておく必要があります
npmで公開はしたはいいもののテストしていた環境でしか動かなくて涙目になりながら修正したことは内緒です
NodejsでbrookのPromiseを使う
非同期処理が基本なJavaScriptでHTTP通信やDB処理を行うとCallbackの嵐となり、ネストが深く流れが追いにくいコードになりがちです。
なのでNodejsでbrookのPromiseを使えるようにしてみました。
(もしかしたらもっと簡単にやれる方法があったのかもしれないけど…
Makefileを少し書き加えて、Nodejsで使うためのコードを生成しています。