Sails.js で CoffeeScript の自動コンパイルを実行する
Sails.js のContorollファイル(HomeController.coffee など)をCoffeeScriptで記述した場合、sails lift
での実行であれば.coffeeファイルは自動コンパイルされますが、node(forever) app.js
で起動するとコンパイル出来ない(起動しない) のでその解決法を紹介します。
npm i -S coffee-script
app.jsの最初の個所で coffee-scriptをrequireする。
// Start sails and pass it command line arguments
require('coffee-script'); //<-追加
require('sails').lift(require('optimist').argv);
(2014/4/3追記)
coffee-script@1.7.x
ではrequire の記述方法が変更されたようです。
// Start sails and pass it command line arguments
require('coffee-script/register'); //<-追加
require('sails').lift(require('optimist').argv);
https://github.com/jashkenas/coffee-script/pull/3279
(2014/4/3追記終わり)
// Start sails and pass it command line arguments
require('./node_modules/sails/node_modules/coffee-script'); //<-追加
require('sails').lift(require('optimist').argv);
(2014/2/21追記終わり)
編集後、node app.js
で起動すると HomeController.coffee などがちゃんと認識されるようになります。
参考
http://stackoverflow.com/questions/20196248/sailsjs-and-forever-doesnt-work-with-coffeescript