我正在将 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.js 中:
//=require common
gem 文件:
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 文档建议在 list 文件中使用 css 和 js 格式的原因,即使底层文件可能是 es6、scss 等。
希望它有所帮助,现在或将来遇到此问题的任何其他人。谢谢!
关于ruby-on-rails - Sprockets 无法找到从 rails 4.2 升级到 rails 5.0 的 .es6 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46269660/