2012-10-18 26 views
0

我在开发中编译js文件时遇到问题。为什么在开发中预编译了rails javascript资源?

我有一个包括多个其他的文件这样的文件的application.js:

//=require_tree . 

的目录中的文件是

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

每当我做出改变这些文件中的一个相应的js文件被创建在app/assets/javascripts目录中,因此我更改了user_row.coffee并得到:

app/assets/javascripts/user_row.js 

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

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

我不明白,为什么是在应用程序/资产/ JavaScript的目录,而不是tmp下/缓存中创建这些js文件/ ...

任何想法?

+0

你用什么命令启动你的开发服务器? –

+0

bundle exec rails s –

+0

它在与js文件相关的开发日志中说了什么?它不仅应该列出它正在抓取的资产,还应该列出它为请求编译的资产。这可能会揭示这个问题。 – GorrillaMcD

回答

0

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

0

你应该命名咖啡文件name.js.coffee而不是仅仅name.coffee

+0

name.js.coffee如果直接包含在名单中,则不需要。当它们包含在清单中时,清单扩展确定目标类型。添加额外的.js会导致产生一个.js.js文件,并且还会导致链轮迭代并在额外的时间解析该文件。 –

相关问题