我正在将rails从4.2升级到5.0,当我运行服务器时,我得到了这个错误。
Sprockets::FileNotFound in Companies::Overviews#index
couldn't find file 'common.source-dcede919e0ca241c0d16d2f91b57781b1804c7be230d659517ab562aa80e136c.source.es6'
Checked in these paths:
[...]
/Users/Mari/TimePoints/app/assets/javascripts //<--common.es is here
[...]
该错误来自于 index.html.erb
从行。
<%= javascript_include_tag "application" %>
在我的application:
//=require common
Gemfile:
gem 'sprockets-rails', :require => 'sprockets/railtie'
gem 'sprockets', "~> 4.0.0.beta5"
gem 'babel-transpiler', '~> 0.7.0'
在 config/initializers/assets.rb
:
Rails.application.config.assets.precompile += %w( .svg .eot .woff .ttf .es6)
如果我尝试将文件明确添加为,没有任何变化。
Rails.application.config.assets.precompile += %w( common.es6 )
我试着把文件添加到 manifest.js
但没有任何变化。
//= link_tree ../javascripts/ .es6
//= link_directory ../javascripts/ .es6
//= link common.es6
如果我删除 common.es6
从 application.js
然后我在下一行的文件中得到同样的错误信息 cookies.es6
似乎只有 .es6
文件有问题。不是 .js
也不 .css
对于其他有这个问题的人来说,关键是指定你最后 "想要 "的文件格式,也就是 "js";而不是指定文件系统中哪个文件 "有 "的格式.这就是为什么Sprockets 4文档建议在manifest文件中使用css和js格式,即使底层文件可以是es6、scss等.希望能帮助到大家,现在或将来有谁碰上这个问题。希望对大家有所帮助,现在或将来有人遇到这个问题吗?