Как загрузить svg из пакета npm в рельсы?

В нашей компании есть общий пакет npm, содержащий изображения (в основном SVG), которыми мы делимся между приложениями, чтобы их было легче обновлять при необходимости и поддерживать их согласованность.

Я пытаюсь использовать такое изображение в нашем приложении rails (точнее, в шаблоне ERB), для меня это звучит так просто, но я не могу заставить его работать. Я много исследовал это в Интернете и смог найти только статьи об изображениях в SCSS/JS... но не о том, как загрузить их как обычное изображение.

Может ли кто-нибудь указать мне документы или привести простой пример того, как это сделать? Мы используем и sprockets, и webpacker, и по-прежнему используем Rails 5.1 (я знаю, что нам нужно обновить...)


person Pieter Van der Haegen    schedule 01.10.2020    source источник


Ответы (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 (также может потребоваться добавление в манифест/предкомпилированные файлы), пути к файлам будут зависеть от структуры вашего пакета.

person Vasfed    schedule 19.10.2020
comment
OMG... Я чувствую себя таким глупым сейчас... решение такое простое... СПАСИБО! - person Pieter Van der Haegen; 20.10.2020