webpacker:包括来自 gem (js-routes) 的 javascript

Jur*_*sár 5 javascript ruby-on-rails js-routes webpack webpacker

我正在尝试将JS 路由 gem与来自 Rails 5.1 的webpacker一起使用,但无法弄清楚如何js-routes.js.erb在 webpack 的app/javascript/packs/application.js.

import 'js-routes'

造成

Uncaught Error: Cannot find module "js-routes"

这可能意味着 webpack 无法在包含的 gem 中找到 javascript。这可能与这个webpacker 的 github 问题有关

目前解决此问题的最佳方法是什么?

谢谢!

小智 5

使用JsRoutes 文档中非常高级的设置部分中描述的技术:

// app/javascript/routes.js.erb

<%= JsRoutes.generate %>
export default this.Routes
Run Code Online (Sandbox Code Playgroud)

然后在您的应用程序包中:

// app/javascript/packs/application.js

import Routes from '../routes.js.erb'
// Note the .erb extension!

// If you want it to be available globally for some reason:
window.Routes = Routes
Run Code Online (Sandbox Code Playgroud)