のらねこの気まま暮らし

技術系だけど、Qiita向きではないポエムとかを書くめったに更新されないヤツ

FirefoxOSを試してみる 第2回

前提のお話

FirefoxOSを試す
提供されてるサンプルアプリが動いたよ!の続き。

volo serveって・・・rを仲間はずれにするなよ!!

volofileが定義しているコマンドなのでカスタマイズできるらしいのよ。

firefoxos-quick-start/app/volofile

こいつをいじって、serveをserverにしてやる。

serveコマンドの定義

volofileの252行目

    serve: function(d, v, namedArgs) {

serverコマンドに書き換え

    server: function(d, v, namedArgs) {

serverコマンド、いっきまーす!

 (mizuki)$ volo server
starting web server on port 800

grunt.jsで管理したい

grunt-voloなるものがある。

https://github.com/volojs/grunt-volo

gruntのinstallはお済みですか?

$ cd firefoxos-quick-start/app
$ npm install grunt grunt-cli grunt-volo

globalにgruntを入れてたけど、localがどうのこうので動かずだったのでlocalで入れなおした。

Gruntfile.jsにtasksを登録してくださいな

  grunt.loadNpmTasks('grunt-volo');                                                                                                                                      

こいつ・・・動くぞ!

(mizuki)$ grunt volo:serve
Running "volo:serve" (volo) task
starting web server on port 8008

で、テストアプリは動いたのよ。

プロセスが重複しているとevents.jsがコケる(らしい)

ちょっとハマったのでメモ。
下記のエラーは、volo serveを2回連続で呼び出した時に発生するっぽい。
プロセス殺してvolo serveしたらエラーでなかった。

(mizuki)$ volo serve
starting web server on port 8008

events.js:71
        throw arguments[1]; // Unhandled 'error' event
                       ^
Error: listen EADDRINUSE
    at errnoException (net.js:770:11)
    at Server._listen2 (net.js:910:14)
    at listen (net.js:937:10)
    at Server.listen (net.js:986:5)
    at Function.app.listen (/Users/mizuki/project/firefoxos-quick-start/app/node_modules/connect/lib/proto.js:229:24)
    at Object.module.exports.serve [as run] (/Users/mizuki/project/firefoxos-quick-start/app/volofile:279:41)
    at commands.run (/usr/local/share/npm/lib/node_modules/volo/lib/commands.js:154:37)
    at _fulfilled (/usr/local/share/npm/lib/node_modules/volo/node_modules/q/q.js:860:32)
    at resolve.promiseSend.done (/usr/local/share/npm/lib/node_modules/volo/node_modules/q/q.js:881:34)
    at makePromise.promise.promiseSend (/usr/local/share/npm/lib/node_modules/volo/node_modules/q/q.js:553:9)

俺はcoffeeで書くぞジョジョーッ!!

現在volofileをcoffee化してgruntでcompileするようにしようとしている。
次回乞うご期待!!