首页 > 解决方案 > 除非使用导入手动定义,否则不会加载 Rails Webpacker 图像

问题描述

我在 Rails 5.1 应用程序中使用 @rails/webpacker 3。我一直试图弄清楚是否有一种方法不必定义导入相应的 pack/*.j​​s 文件中的每个单独的图像。

我有默认的 webpacker 配置设置和保存在这个位置的图像文件。

 <app_root>/app/javascript/images/image.png

在我看来,我设置了图像元素

#<app_root>/app/views/layouts/application.html.erb
...
<img src="<%asset_pack_path 'images/image.png%>"> 
...

除非我将其导入到我在这里执行的包文件中,否则图像将不会加载:

#<app_root>/app/javascript/packs/application.js
import 'images/image.png'

似乎我正在做额外的不必要的工作来在应用程序视图中呈现图像。我假设asset_pack_path 方法和webpacker 将执行此图像导入,因为似乎必须定义它两次是重复代码。

我是否遗漏了什么,或者这是关于如何使用 webpack 和 rails 加载图像的设计意图?

标签: ruby-on-railsimagewebpackwebpacker

解决方案


看起来通过将其添加到我的 javascript 中解决了。

#<app_root>/app/javascript/application.js
const images = require.context('../images/', true)

指导是在我被其他人指导的问题中 - https://github.com/rails/webpacker/issues/705


推荐阅读