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なるものがある。
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するようにしようとしている。
次回乞うご期待!!