【问题标题】:Integrating ActionCable with Webpacker in Rails 5.1在 Rails 5.1 中将 ActionCable 与 Webpacker 集成
【发布时间】:2017-05-31 14:54:14
【问题描述】:

我正在将我的应用程序从 Rails 5.0 升级到 5.1,但我找不到任何地方提到的一件事 - 使用 Webpacker 来处理 ActionCable JavaScript 文件。

我意识到 Webpacker 和资产管道应该并行工作,但是现在我们已经将 Webpack 构建到 Rails 中,不将其用于位于 assets 目录(ActionCable 所在的目录)中的文件将是一种浪费生活),但我找不到任何关于如何做到这一点的信息。

我对 Babel 特别感兴趣,所以我可以使用 ES6。有什么想法吗?

【问题讨论】:

  • 你可以使用 `# Gemfile gem 'sprockets', '>= 3.0.0' gem 'sprockets-es6' 并使用 ES6 和 babel 转译 sprockets :)
  • 我之前考虑过这个选项,但是在 Rails 5.1 中它似乎是一个不必要的依赖。我真的很想避免这种情况。
  • 那么您的具体问题是什么?
  • 是否可以将assets/javascripts目录下的JS文件和javascript/packs目录下的文件一样转译?

标签: ruby-on-rails actioncable ruby-on-rails-5.1 webpacker


【解决方案1】:

这里的问题是,您需要将 Rails 的 ActionCable 实现替换为以模块语法编写的东西,以正确使用 webpacker。 特别是您的cable.js 中的这一行 require action_cable 其他一切都应该易于携带。 ActionCable 和周围的模块似乎有几个实现: https://www.npmjs.com/search?q=keywords:ActionCable

具体来说,这看起来正是您要搜索的内容: https://www.npmjs.com/package/actioncable-modules

Rails 方面似乎有 some movement 在 Rails 6 中使用 Webpacker 作为完整的 sprocket 替代品,因此可能值得等待,而不是创建基于第三方模块的东西。

【讨论】:

    猜你喜欢
    • 2018-01-03
    • 1970-01-01
    • 2017-12-15
    • 2018-06-03
    • 2020-08-17
    • 2017-07-24
    • 2018-01-20
    • 2017-10-12
    • 2018-08-19
    相关资源
    最近更新 更多