为什么rails javascript资产在开发中被预编译?

时间:2012-10-18 15:06:57

标签: ruby-on-rails sprockets

我在开发中编译js文件时遇到问题。

我有一个application.js文件,其中包含多个其他文件:

//=require_tree .

目录中的文件是

app/assets/javascripts/user_row.coffee
app/assets/javascripts/index.coffee

每当我对其中一个文件进行更改时,都会在app / assets / javascripts目录中创建相应的js文件,因此我更改了user_row.coffee并得到:

app/assets/javascripts/user_row.js

这是处于开发模式,使用默认资产配置(我没有根据rails生成器的内容更改development.rb。)

如果我再次更改user_row.coffee文件,它会被忽略,并且application.js会包含已存在的js文件。

我不明白为什么这些js文件是在app / assets / javascript目录中而不是在tmp / cache /...下创建的。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您应该将咖啡文件命名为name.js.coffee,而不仅仅是name.coffee

答案 1 :(得分:0)

结果是节点v0.8.9的问题。我使用node作为javascript运行时,从v0.8.9更新到v0.8.16之后,问题就消失了。