Как использовать изображения в папке ресурсов в приложении перекадровки, повторного агента? - PullRequest
4 голосов
/ 19 марта 2020

У меня есть приложение, созданное с помощью Chestnut, и в проекте есть изображение по адресу: resources / public / img.png. Я хочу использовать это изображение в своем приложении, но выполнение [:img {:src "public/img.png"}] или [:img {:src "./img.png"}] не работает. Какой правильный src для изображения в папке ресурсов?

Ответы [ 3 ]

2 голосов
/ 20 марта 2020

Go в ваш файл project.clj и найдите настройки figwheel. Убедитесь, что: http-server- root не закомментирован.

:figwheel {
             :http-server-root "public"       ;; serve static assets from resources/public/

...

}

Тогда [:img {:src "img.png" }] должно работать. И не забудьте перезапустить figwheel.

2 голосов
/ 19 марта 2020

Часть каталога resources/public неявная. Вам необходимо получить доступ к файлу, например:

(ns demo.core
  (:require [clojure.java.io :as io]))

  ; something like this
  (slurp       (io/resource "img.png")) ; returns bytes from file
  (io/stream   (io/resource "img.png")) ; returns in InputStream for file

, например:

(ns tst.demo.core
  (:use tupelo.core tupelo.test)
  (:require [clojure.java.io :as io]))

(dotest
  (let [bytes (slurp (io/resource "sample.json"))]
    (spyx (count bytes))))

с результатом

(count bytes) => 72
1 голос
/ 19 марта 2020

Я не использовал Каштан. Я предполагаю, что запущен веб-сервер, чей root каталог - resources / publi c. Я предполагаю, что в этой папке есть индекс. html (или эквивалентный). Кроме того, я предполагаю, что требуемый сбой находится в этом файле индекса. html. Учитывая все вышесказанное, я бы попробовал

[: img {: sr c "img.png"}]

...