Rails:如何在 Rails 5 中禁用 turbolinks?
Rails: How to disable turbolinks in Rails 5?
在处理 websockets 时一直很头疼,除了添加错误外,它还降低了我的性能。由于 ActionCable 是我升级的全部原因,我非常想完全摆脱它。
从 app/assets/javascripts/application.js
中删除 //= require turbolinks
似乎成功了。
我还删除了 app/views/layouts/application.html.erb
中的两个 turbolinks 引用
基本上直接来自here。 Rails 4,但我相信步骤是一样的。
1) 从 Gemfile 中删除 gem 'turbolinks'
行。
2) 从 app/assets/javascripts/application.js .
中删除 //= require turbolinks
3) 从 app/views/layouts/application.html.erb 中删除两个 "data-turbolinks-track" => true
散列 key/value 对。
编辑:从至少 Rails 5.0.0 开始,最后一步应参考 "data-turbolinks-track" => "reload"
而不是 "data-turbolinks-track" => true
. 感谢@boddhisattva
编辑:至少从 Rails 4.2 开始,您可以生成一个没有 turbolinks 的项目。只需使用这样的东西:
rails new my_app --skip-turbolinks
从 application.html.erb 中完全删除 turbolinks 标签可能会破坏 CSS 和 JS。如果没有加载 CSS 或 JS,请添加此行而不是 turbolinks:
<%= stylesheet_link_tag "application", media: "all" %>
<%= javascript_include_tag "application" %>
您也可以在创建 rails 应用程序时使用;
rails new app name --skip-turbolinks
如果你正在使用 Webpacker (Rails 5-6)
- 从
Gemfile
和 运行 中删除这一行 bundle
:
gem 'turbolinks', '~> 5'
运行 yarn remove turbolinks
从应用程序包文件中删除这一行app/javascript/packs/application.js
:
require("turbolinks").start()
从您的 html 中删除任何 data-turbolinks
数据属性。
变化:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
至
<%= stylesheet_link_tag 'application', media: 'all' %>
<%= javascript_pack_tag 'application' %>
在处理 websockets 时一直很头疼,除了添加错误外,它还降低了我的性能。由于 ActionCable 是我升级的全部原因,我非常想完全摆脱它。
从 app/assets/javascripts/application.js
中删除 //= require turbolinks
似乎成功了。
我还删除了 app/views/layouts/application.html.erb
基本上直接来自here。 Rails 4,但我相信步骤是一样的。
1) 从 Gemfile 中删除 gem 'turbolinks'
行。
2) 从 app/assets/javascripts/application.js .
中删除//= require turbolinks
3) 从 app/views/layouts/application.html.erb 中删除两个 "data-turbolinks-track" => true
散列 key/value 对。
编辑:从至少 Rails 5.0.0 开始,最后一步应参考 "data-turbolinks-track" => "reload"
而不是 "data-turbolinks-track" => true
. 感谢@boddhisattva
编辑:至少从 Rails 4.2 开始,您可以生成一个没有 turbolinks 的项目。只需使用这样的东西:
rails new my_app --skip-turbolinks
从 application.html.erb 中完全删除 turbolinks 标签可能会破坏 CSS 和 JS。如果没有加载 CSS 或 JS,请添加此行而不是 turbolinks:
<%= stylesheet_link_tag "application", media: "all" %>
<%= javascript_include_tag "application" %>
您也可以在创建 rails 应用程序时使用;
rails new app name --skip-turbolinks
如果你正在使用 Webpacker (Rails 5-6)
- 从
Gemfile
和 运行 中删除这一行bundle
:
gem 'turbolinks', '~> 5'
运行
yarn remove turbolinks
从应用程序包文件中删除这一行
app/javascript/packs/application.js
:require("turbolinks").start()
从您的 html 中删除任何
data-turbolinks
数据属性。
变化:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
至
<%= stylesheet_link_tag 'application', media: 'all' %>
<%= javascript_pack_tag 'application' %>