YeomanにてBower Componentを自動インジェクトするには

Yoemanを使ってて、もしBowerでコンポーネントをインストールする必要があるなら、--saveオプションが必須のようですね。

> bower install [コンポーネント名] --save

こうすると、コンポーネントがインポートされて、同時にbower.jsonにインストールされた旨が書き込まれます。

で、続けて

> grunt serve

もしくは

> grunt wiredep

ってすると、index.htmlのスクリプトタグが更新されて、インストールしたコンポーネントも使えるようになるようです。Gruntすげぇ。

Node+Angularでファイルアップロードアプリ作ってみた

ここ見て作ってみました。

Christophe Geers' Blog - AngularJS File Upload

まとめのところだけ引用すると、

To recapitulate, we have 3 components that make up our Angular application:

FileUploadCtrl: Our controller which is tied to a DIV which contains the file upload widget

uploadManager Service: This service manages the files we want to upload. It sends out a couple of events to which our controller listens and acts to accordingly.

upload Directive: This directive transforms the file input into a bonafide upload widget. It uses the widget’s callbacks to notify the uploadManager service.
— http://cgeers.com/2013/05/03/angularjs-file-upload/#summary

雰囲気的には

  • FileUploadCtrlはファイルアップロードウィジェットのあるDIVとつながるコントローラ
  • uploadManager Serviceはアップロードするファイルの管理をしてて、必要に応じてコントローラにイベントを送信
  • upload Directiveはファイルを実際のアップロード処理でアップロードするところ。おわったらコールバックでuploadManager Serviceに通知

という感じですかね。

YEOMANである程度組み立てて、それから自分のロジックを組み込んでいくっていうのもいいね!

次はMongoDBをくっつけてみよう。

NPMでこんなエラーが出たら

npmコマンドを使うときにこんなエラーが出てきたら。

npm ERR! Error: EACCES, ...
...
中略
...
npm ERR! Please try running this command again as root/Administrator.

chownを二つの場所に当てればいいそうです。

chown -R `whoami` ~/.npm
chown -R `whoami` /usr/local/lib/node_modules

それにしてもYEOMANすげぇ。