您可以在 rails 中将 turbolinks 与 webpack 一起使用吗?

Can you use turbolinks with webpack in rails?

这个 post 提供了一个关于如何用 webpack 替换 rails 资产管道的优秀教程。但是,它指出您应该删除 turbolinks gem。有没有办法做到这一点并仍然使用 turbolinks?

您可以直接从 NPM https://www.npmjs.com/package/turbolinks 使用它并按照提供的文档进行操作。

这是文档https://www.npmjs.com/package/turbolinks#installation-using-npm

这与在其他框架中使用 Turbolinks 时相同。

您需要同时拥有来自 npm 的 turbolinks 和 gem,因为 redirect_to 行为是使用 gem 中的 ruby 代码修改的。

如果您禁用了 Sprockets(例如使用 --skip-sprockets 选项),您将需要在 Gemfile 中禁用 gem 的 "auto-require":

gem 'turbolinks', require: false

然后您可以在 application_controller.rb 中包含 Turbolinks::Redirection 模块:

require "turbolinks/redirection"

class ApplicationController < ActionController::Base
  include Turbolinks::Redirection
  # ...

我已经发送了一个 Pull Request 以允许 use Turbolinks without Sprockets