最後の数時間、coffeescript をコンパイルし、要求に応じて .js を提供する最善の方法を見つけようとします。私はrequire.jsを使用していますが、いいえ、requireのコーヒープラグインは答えではなく、奇妙に聞こえます...そして、require.jsを使用しているため、connect-assetsを使用したくありません。だから私は次のようなものを書くことになりました:
app.configure 'development', ->
app.get(/.js$/, (req, res, next) ->
script = req.originalUrl.substring(1, req.originalUrl.length - 3)
try
file = "app/assets/javascripts/#{script}.coffee"
cs = fs.readFileSync "#{__dirname}/#{file}", "ascii"
try
js = coffee.compile cs
res.header 'Content-Type', 'application/x-javascript'
res.send(js, 200)
catch e
res.send("Coffee compile error in #{file}\n" + e.stack, {'Content-Type': 'text/plain'}, 500)
catch e
next()
)
app.use(express.static("#{__dirname}/app/assets/javascripts"))
そのため、すべての .js リクエストをキャプチャし、対応する .coffee ファイルを見つけてコンパイルし、クライアントに返します。しかし、それはあまりにも多くのコードです....それから私はコーヒーミドルウェアnpmパッケージを見つけました.3行のコーヒーを使用してサーバーをコーヒーサービス用に構成する方がきれいだと思いましたが、.jsを同じようにコンパイルし始めました.コーヒーとしてdir。
何か助けてください。git などで確認できるプロジェクトのサンプルはありますか? 事前にたくさんありがとう!
または、上記のコードの npm パッケージを公開する必要がありますが、これが最善の選択かどうかはわかりません :)