自分で作ったクラスをrequireで読み込むとき、相対パスを書くのが面倒なので
search pathを設定できないものか、と思っていたらやる方法があった。
process.cwd()はプロジェクトのルートディレクトリ(多分nodeのプロセスのカレントディレクトリ)の絶対パスを取得できる。なのでそこから各ディレクトリへのパスを書けばOK。
exports.initSearchPath = ->
process.env.NODE_PATH = [
"#{process.cwd()}/sources"
"#{process.cwd()}/sources/collections"
"#{process.cwd()}/sources/models"
].join(":")
require("module")._initPaths()これでrequire("hoge")とかできる!でも思いっきり非公開なAPIを使ったりしてるので非推奨です。でも便利。
参考:hokaccha.hamalog v2