问题描述
在我们公司中,我们有一个共享的npm软件包,其中包含在应用程序之间共享的图像(大部分为SVG),以便能够在需要时更轻松地更新它们并保持一致。
我正在尝试在我们的Rails应用程序中使用这样的图像(更具体地说是在ERB模板中),对我来说听起来很简单,但我无法使其正常工作。我在网上进行了很多研究,只能在SCSS / JS中找到有关图像的文章...但是无法将其作为普通图像加载。
有人可以指出我的文档或举一个简单的例子来说明这一点吗?我们同时使用链轮和webpacker,并且仍然使用Rails 5.1(我知道我们需要更新...)
解决方法
npm软件包已安装到<rails root>/node_modules
,所以没有什么可以阻止您执行此操作:
# config/initializers/assets.rb:
Rails.application.configure do
# ...
config.assets.paths << Rails.root.join('node_modules')
# ...
end
(或仅是单个软件包的路径)
,然后像使用常规链轮your_package/some_file.svg
一样使用它们(可能还需要添加到清单文件/预编译文件中),文件路径将取决于您的包结构。