使用 Rails 和 webpacker 在不同路径下构建资产

Building assets under different paths with Rails and webpacker

我正在开发一个 Rails 5.2.3 应用程序,其中有 application.js/.css 以及按如下方式组织到目录中的其他文件:

在我的布局中,我这样做:

<%= javascript_include_tag "#{controller_path}/action_name" if File.exist?(Rails.root.join("app/assets/javascripts", controller_path, action_name, ".js") ) %>

我有数百个 JS 和 CSS 文件组织在 3-4 层深的目录下。

在浏览了 webpacker 文献之后,我仍然不确定我应该如何为这个特定的用例设置它 - 看起来入口点必须在 app/javascripts/packs 下,但我不确定这是怎么回事webpacker 东西完全可以帮助我,我是否应该进入每个视图并向其 JS 添加单独的链接?

如何完成此操作?

您可以在包下的 app/javascript 文件夹中或您自己的文件夹结构中组织文件。 然后您可以导入 app/javascript/packs/application.js 并使用 <%= javascript_pack_tag 'application" %> 调用它。 或者,如果您在 packs 文件夹中有文件,您可以直接在视图中使用相同的 rails 帮助程序但相应的文件名需要单个文件,例如 <%= javascript_pack_tag 'file_name" %>.