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

时间:2018-08-07 04:40:19

标签: javascript ruby-on-rails webpack

所以我正在使用railswebpack来构建应用程序,而我摆脱了assets pipelinesprockets。到目前为止,没有什么例外。

我知道webpack会抛出生活在app/javascript/packs中的所有JavaScript文件,并且无论实际加载了哪个views,浏览器都将全部执行它们,这会导致错误。

我要做的是使浏览器为特定的JavaScript执行特定的view文件。

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

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

是否有一种简单直接的方法?

1 个答案:

答案 0 :(得分:0)

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

<%= javascript_pack_tag 'application' %>
<%= stylesheet_pack_tag 'application' %>

示例。您在foo.js创建一个~/app/javascript/packs 您可以在视图中调用此文件

<%= javascript_pack_tag 'foo' %>