花最后几个小时试图找出编译coffeescript并根据请求提供.js的最佳方法。我正在使用require.js,不,require 的咖啡插件不是答案,只是听起来很奇怪......而且我不想使用connect-assets,因为我正在使用require.js。所以我最终写了类似的东西:
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 文件,编译它们并将它们返回给客户端。但它的代码太多了......然后我找到了coffee-middleware npm包,我认为只使用3行咖啡来配置我的服务器以提供咖啡会更干净,但它刚刚开始将.js编译成相同的dir 作为咖啡。
请提供任何帮助。我可以在 git 上查看任何项目示例吗?非常感谢您提前!
或者我必须发布上面代码的 npm 包,我不确定这是否是最佳选择:)