2014年 3月 の投稿一覧

Castoというサービスを作りました – Live coding in browse, using text editor.

開発者向けにCastoというサービスをいつもの面々で新しく作りました。

Casto :: Live coding in browse, using text editor.

サイトにアクセスして、"Start coding" のボタンを押すと、ファイルを受け付けるモードになるので、ブラウザ上に手元のPC上にあるファイルをドラッグ&ドロップ。

そうすることでブラウザがファイルの監視をして、ファイルが更新されると自動的にサーバも更新されて同じURLを見ているユーザにリアルタイムに配信されます。

ものすごく簡単に紹介していまうと「リアルタイムで更新できるgist」といった具合です。

百聞は一見にしかず感があるので、是非一度お試しください。

Gruntタスクで環境変数を定義する(grunt-env)

Node.jsで開発しているプロジェクトでGruntを利用しているときに、タスクによって環境変数を定義したい場合、grunt-envを利用すると便利ですよ。という話。

npmでgrunt-envをインストール。

$ npm install grunt-env --save

次にGruntfile.jsを編集します。以下の様な具合。

module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-env');  // grunt-env追加
grunt.initConfig({
env: {
dev: {
NODE_ENV : 'development'
},
production: {
NODE_ENV : 'production'
}
}
});

上の様に定義した上で、例えば既に、serverというタスクにコンパイル及びNode.jsの起動のタスクが登録されていた場合、それらのタスクの前に env:dev というタスクを加えると

NODE_ENV=development

という環境変数を定義した上でコンパイルとNode.jsの起動が行われます。具体的には以下の様な形でregisterTaskの修正を行います。

// 'env:dev' を追加
grunt.registerTask('server', ['env:dev', 'compile', 'runNode']);

こうすることで、gruntでタスクを実行するだけで、process.env.NODE_ENV で参照できる環境変数が定義されます。

grunt-env とても便利。