我正在处理一个遗留应用程序,最近升级到Rails 6.0.4版本。该应用程序使用的是sprockets
,而不是webpacker
。
现在我正试图将应用从turbolinks
移至turbo-rails
。此应用程序中的js文件都使用sprockets require指令,例如:
//= require jquery3
//= require turbolinks
我似乎无法弄清楚如何将此应用于turbo-rails
。我已安装了gem并删除了turbolinks,但我找到的所有文档中都有像import "@hotwired/turbo-rails"
这样的内容。
我对前端不是很了解,但我认为这是一种不同的(ES6?)语法。此应用程序目前在sprockets 3.7.2
上,我认为sprockets在版本4之前不支持ES6。如果可能的话,我希望避免此升级影响更多依赖项...
是否可以以与我当前拥有的//= require turbolinks
相同的方式//= require
turbo?'
/app/assets/javascript/turbo.js
文件 https://github.com/hotwired/turbo-rails/blob/main/app/assets/javascripts/turbo.js,看起来你可以使用`//= require turbo`,因为这是文件的名称,而且Sprockets可以在宝石内查找这些文件夹中的文件。不确定是否足够,但这应该是一个开始。 - arieljuod$(document).on("turbolinks:load"
中不起作用。但是,我猜测在资产编译期间没有错误意味着文件已被找到。所以我又试了一次,现在我注意到 web 控制台中出现了这个错误:Uncaught SyntaxError: export declarations may only appear at top level of a module
指向Uncaught SyntaxError: export declarations may only appear at top level of a module
。所以我猜测文件确实被找到了,但还有其他问题吗? - sixty4bit