如何在 Rails 和 webpack 的特定视图中执行特定的 javascript 文件?

cob*_*bak 5 javascript ruby-on-rails webpack

所以我正在用railsand构建一个应用程序webpack,然后我摆脱了assets pipelineand sprockets。到目前为止,没有什么异常。

我知道这webpack会抛出所有存在的 JavaScript 文件,app/javascript/packs浏览器会执行它们,而不管views实际加载的是哪个,这可能会导致错误。

我想要做的是让浏览器JavaScript为特定的view.

示例:如果视图为foo.html.erb,则浏览器仅在调用时执行foo.js存在于其中的 JavaScript 。~/app/javascript/packsfoo.html.erb

请记住,我正在使用 webpack,因此<%= javascript_include_tag : 'foo'%>在我的情况下放置帮助程序不起作用,因为我使用 webpack 而不是assets pipeline

有没有一种简单直接的方法来做到这一点?

1Rh*_*ino 4

您可以在此处阅读文档https://github.com/rails/webpacker并使用帮助程序:

<%= javascript_pack_tag 'application' %>
<%= stylesheet_pack_tag 'application' %>
Run Code Online (Sandbox Code Playgroud)

例子。你创建一个foo.jsat~/app/javascript/packs 你可以调用这个文件 at view

<%= javascript_pack_tag 'foo' %>
Run Code Online (Sandbox Code Playgroud)