ruby-on-rails - Sprockets 无法找到从 rails 4.2 升级到 rails 5.0 的 .es6 文件

标签 ruby-on-rails ecmascript-6 ruby-on-rails-5 sprockets

我正在将 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/

相关文章:

ruby-on-rails - 使用多级 :include 时 as_json 中的语法错误

javascript - 在 Rails 中播放上传的音乐

javascript - 如何创建一个 {key :value} object from two variables?

ruby-on-rails - rails 5 : Search multiple models with Ransack

ruby-on-rails - 最近的价格和 will_paginate

ruby-on-rails - url_for 方法找不到路由

javascript - 如何从 AJAX 响应更新大表?

javascript - 如何告诉 typescript ,那个过程不是未定义的?

ruby-on-rails - 在 simple_fields_for 中指定包装器