我最近将我的网站从 Rails 3.1 升级到 Rails 7.0.5.1。现在我有很多遗留的 javascript 代码,我想通过资产管道包含它们并避免导入映射。但是要使用turbo/turbolinks,我收到一条消息,要使用turbo,您应该有importmaps或webpacker。
你还需要有
turbo-rails
宝石。跳过 turbo:install
命令,它的作用不大。自己安装:
<%= javascript_include_tag("turbo", type: "module") %>
or
<script type="module" src="https://cdn.jsdelivr.net/npm/@hotwired/[email protected]/app/assets/javascripts/turbo.min.js"></script>
对于模块脚本,您可能需要这个:https://github.com/guybedford/es-module-shims
你已经拥有了涡轮!此外,如果您想使用 broadcasts,您需要设置 redis (postgres 适配器适用于小型 ~8kb 流)。
请注意,您可以将 importmap、esbuild 以及来自 sprocket 的一些纯文件放在一起:
<%= javascript_importmap_tags %> # importmap-rails
<%= javascript_include_tag("esbuild") %> # jsbundling-rails
<%= javascript_include_tag("my_old_js") %> # sprockets
如果出现预编译错误,请将文件添加到manifest.js
: