CSS는 clojure / heroku 웹 앱에서 html을 수정하지 않습니다.

kurofune

하나의 html과 하나의 css 파일로 구성된 Heroku에 배포 할 간단한 Clojure 웹 앱을 만들고 있습니다. "lein new heroku MYAPP"명령을 사용하여 파일을 생성하고 시작시 다른 폴더에 html 파일을 렌더링하도록 간단한 "hello world"에서 수정하려고합니다. 내 브라우저의 로컬 호스트에서 html을로드 할 수 있었지만 할 때 CSS에 의해 수정되지 않습니다. CSS가 브라우저에서 올바르게 렌더링되도록 HTML을 수정 한 다음 heroku에 배포하려면 무엇을 변경해야합니까?

html :

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="style.css" />
    </head>

    <body>
        <img id="sun" src="http://goo.gl/dEEssP">
        <div id='earth-orbit'>
            <img id="earth" src="http://goo.gl/o3YWu9">
        </div>
    </body>
</html>

project.clj

(defproject solar_system "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://solar_system.herokuapp.com"
  :license {:name "FIXME: choose"
            :url "http://example.com/FIXME"}
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [compojure "1.1.1"]
                 [ring/ring-jetty-adapter "1.1.0"]
                 [ring/ring-devel "1.1.0"]
                 [ring-basic-authentication "1.0.1"]
                 [environ "0.2.1"]
                 [com.cemerick/drawbridge "0.0.6"]]
  :uberjar-name "solar_system-standalone.jar"
  :min-lein-version "2.0.0"
  :plugins [[environ/environ.lein "0.2.1"]]
  :hooks [environ.leiningen.hooks]
  :profiles {:production {:env {:production true}}})

web.clj :

(ns solar_system.web
  (:require [compojure.core :refer [defroutes GET PUT POST DELETE ANY]]
            [compojure.handler :refer [site]]
            [compojure.route :as route]
            [clojure.java.io :as io]
            [ring.middleware.stacktrace :as trace]
            [ring.middleware.session :as session]
            [ring.middleware.session.cookie :as cookie]
            [ring.adapter.jetty :as jetty]
            [ring.middleware.basic-authentication :as basic]
            [cemerick.drawbridge :as drawbridge]
            [environ.core :refer [env]]))

(defn- authenticated? [user pass]
  ;; TODO: heroku config:add REPL_USER=[...] REPL_PASSWORD=[...]
  (= [user pass] [(env :repl-user false) (env :repl-password false)]))

(def ^:private drawbridge
  (-> (drawbridge/ring-handler)
      (session/wrap-session)
      (basic/wrap-basic-authentication authenticated?)))

(defroutes app
  (ANY "/repl" {:as req}
       (drawbridge req))
  (GET "/" []
       {:status 200
        :headers {"Content-Type" "text/html"}
        :body (slurp (io/resource "index.html"))})  
  (ANY "*" []
       (route/not-found (slurp (io/resource "404.html")))))

(defn wrap-error-page [handler]
  (fn [req]
    (try (handler req)
         (catch Exception e
           {:status 500
            :headers {"Content-Type" "text/html"}
            :body (slurp (io/resource "500.html"))}))))

(defn -main [& [port]]
  (let [port (Integer. (or port (env :port) 5000))
        ;; TODO: heroku config:add SESSION_SECRET=$RANDOM_16_CHARS
        store (cookie/cookie-store {:key (env :session-secret)})]
    (jetty/run-jetty (-> #'app
                         ((if (env :production)
                            wrap-error-page
                            trace/wrap-stacktrace))
                         (site {:session {:store store}}))
                     {:port port :join? false})))

;; For interactive development:
;; (.stop server)
;; (def server (-main))

여기에 디렉토리 트리가 있습니다. html 및 css 파일은 리소스 (error.html 파일 포함)에 있고 web.clj는 src / solar_system에 있으며 project.clj는 루트 폴더에 있습니다.

solar_system
├── resources
├── src
│   └── solar_system
├── target
│   ├── classes
│   └── stale
└── test
    └── solar_system
도전

lein new heroku _템플릿이 왜이 작업을 수행하지 않는지 모르겠습니다 .

compojure.route / resources사용 하여 핸들러에게 정적 파일을 찾을 위치를 알려줍니다.

(defroutes app
  (ANY "/repl" ...)
  (GET "/" [] ...)  
  (route/resources "/")
  (ANY "*" [] ...))

당신이 방문하는 경우 지금 http://example.com/style.css, 그것은 기대됩니다 resources/public/style.css.

곁에 : 아무도 액세스 할 수없는 상태 로 갖고 싶을 수 있기 때문에 정적 자산을 제공하는 resources/public/것이 좋습니다 .resources/resources/secrets.txt

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django 앱을 실행하는 Heroku 웹 dyno가 메모리를 해제하지 않습니다.

분류에서Dev

Xcode는 웹 사이트에서 정확한 HTML을 다운로드하지 않습니다.

분류에서Dev

웹에서가 아니라 로컬에서 충돌하는 Heroku Java 앱

분류에서Dev

Eclipse에서 tomcat 웹 앱을 사용하는 동안 user.dir이 올바르지 않습니다.

분류에서Dev

Gunicorn을 사용한 Heroku의 Bottle 앱-Foreman은 로컬에서 작동하지만 Heroku에서는 작동하지 않습니다.

분류에서Dev

Heroku에 내 웹 앱을 업로드하려고합니다.

분류에서Dev

Heroku는 내 Python 앱을 실행하지 않지만 앱은 로컬에서 잘 작동합니다.

분류에서Dev

웹 서비스 호출이있는 HTML5 앱은 에뮬레이터에서 작동하지만 기기에서는 작동하지 않습니다.

분류에서Dev

Flask 웹 앱에서 CSS가 HTML에 연결되지 않음

분류에서Dev

heroku는 웹 소켓을 처리 할 수 없습니다.

분류에서Dev

env 변수는 프로덕션에서 정의되지 않았습니다 (Heroku와 함께 배포 된 React 앱).

분류에서Dev

두 번째 웹앱을 실행하지 않고 다른 웹앱을 호출하는 웹앱에서 JUnit 테스트 작성

분류에서Dev

Figaro 환경 변수는 Heroku에 설정되지 않습니다.

분류에서Dev

Rails 4+ 앱에서 앱을 heroku에 배포했지만 정적 이미지는 프로덕션에서로드되지 않지만 개발 중입니다.

분류에서Dev

github에서 가져온 앱의 Heroku 앱 이름을 지정하는 방법은 무엇입니까?

분류에서Dev

Django 앱은 localhost에서 작동하지만 Heroku에서는 작동하지 않습니다.

분류에서Dev

Rails 4-앱은 로컬에서 작동하지만 Heroku에서는 작동하지 않습니다.

분류에서Dev

clojure-conj가 벡터에 값을 추가하지 않는 것 같습니다.

분류에서Dev

Django 앱을 Heroku에 배포하는 데 문제가 발생했습니다. "Cedar 지원 앱이 감지되지 않았습니다."

분류에서Dev

Django 앱을 Heroku에 배포하는 데 문제가 발생했습니다. "Cedar 지원 앱이 감지되지 않았습니다."

분류에서Dev

.NET Remoting은 웹앱에서 작동하지만 WCF 호스트에서는 작동하지 않습니다.

분류에서Dev

Rails 앱은 로컬에서 작동하지만 Heroku에 배포 할 때는 작동하지 않습니다.

분류에서Dev

npm 설치는 반응 앱에서 package.json을 수정하지 않습니다.

분류에서Dev

CSS 아이콘이 앱에서 로컬로 작동하지만 Heroku에는 표시되지 않습니까?

분류에서Dev

내 웹 / 앱을 방문하는 게스트의 고유 ID를 Node.js에서 찾을 수 없습니다.

분류에서Dev

내 레일 앱이 Heroku에서 작동하지 않습니다.

분류에서Dev

안녕하세요, 노드 웹팩 번들 앱을 Heroku에 배포하고 싶습니다.

분류에서Dev

Heroku에 배포 된 Django 웹 사이트가 작동하지 않습니다.

분류에서Dev

웹 앱에서 Curl POST 요청을 할 수 없습니다.

Related 관련 기사

  1. 1

    Django 앱을 실행하는 Heroku 웹 dyno가 메모리를 해제하지 않습니다.

  2. 2

    Xcode는 웹 사이트에서 정확한 HTML을 다운로드하지 않습니다.

  3. 3

    웹에서가 아니라 로컬에서 충돌하는 Heroku Java 앱

  4. 4

    Eclipse에서 tomcat 웹 앱을 사용하는 동안 user.dir이 올바르지 않습니다.

  5. 5

    Gunicorn을 사용한 Heroku의 Bottle 앱-Foreman은 로컬에서 작동하지만 Heroku에서는 작동하지 않습니다.

  6. 6

    Heroku에 내 웹 앱을 업로드하려고합니다.

  7. 7

    Heroku는 내 Python 앱을 실행하지 않지만 앱은 로컬에서 잘 작동합니다.

  8. 8

    웹 서비스 호출이있는 HTML5 앱은 에뮬레이터에서 작동하지만 기기에서는 작동하지 않습니다.

  9. 9

    Flask 웹 앱에서 CSS가 HTML에 연결되지 않음

  10. 10

    heroku는 웹 소켓을 처리 할 수 없습니다.

  11. 11

    env 변수는 프로덕션에서 정의되지 않았습니다 (Heroku와 함께 배포 된 React 앱).

  12. 12

    두 번째 웹앱을 실행하지 않고 다른 웹앱을 호출하는 웹앱에서 JUnit 테스트 작성

  13. 13

    Figaro 환경 변수는 Heroku에 설정되지 않습니다.

  14. 14

    Rails 4+ 앱에서 앱을 heroku에 배포했지만 정적 이미지는 프로덕션에서로드되지 않지만 개발 중입니다.

  15. 15

    github에서 가져온 앱의 Heroku 앱 이름을 지정하는 방법은 무엇입니까?

  16. 16

    Django 앱은 localhost에서 작동하지만 Heroku에서는 작동하지 않습니다.

  17. 17

    Rails 4-앱은 로컬에서 작동하지만 Heroku에서는 작동하지 않습니다.

  18. 18

    clojure-conj가 벡터에 값을 추가하지 않는 것 같습니다.

  19. 19

    Django 앱을 Heroku에 배포하는 데 문제가 발생했습니다. "Cedar 지원 앱이 감지되지 않았습니다."

  20. 20

    Django 앱을 Heroku에 배포하는 데 문제가 발생했습니다. "Cedar 지원 앱이 감지되지 않았습니다."

  21. 21

    .NET Remoting은 웹앱에서 작동하지만 WCF 호스트에서는 작동하지 않습니다.

  22. 22

    Rails 앱은 로컬에서 작동하지만 Heroku에 배포 할 때는 작동하지 않습니다.

  23. 23

    npm 설치는 반응 앱에서 package.json을 수정하지 않습니다.

  24. 24

    CSS 아이콘이 앱에서 로컬로 작동하지만 Heroku에는 표시되지 않습니까?

  25. 25

    내 웹 / 앱을 방문하는 게스트의 고유 ID를 Node.js에서 찾을 수 없습니다.

  26. 26

    내 레일 앱이 Heroku에서 작동하지 않습니다.

  27. 27

    안녕하세요, 노드 웹팩 번들 앱을 Heroku에 배포하고 싶습니다.

  28. 28

    Heroku에 배포 된 Django 웹 사이트가 작동하지 않습니다.

  29. 29

    웹 앱에서 Curl POST 요청을 할 수 없습니다.

뜨겁다태그

보관