>백엔드 개발 >Golang >My Go 웹 애플리케이션에서 정적 자산(CSS 및 JS)을 어떻게 제공할 수 있습니까?

My Go 웹 애플리케이션에서 정적 자산(CSS 및 JS)을 어떻게 제공할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-20 02:23:08652검색

How Can I Serve Static Assets (CSS & JS) in My Go Web Application?

Go로 정적 자산 제공

Go 웹 애플리케이션 작성 튜토리얼에서 언급했듯이 웹 애플리케이션에서 CSS 및 JS를 제공하는 데 어려움을 겪고 있습니다. 신청하러 가세요. 문제를 자세히 조사하고 해결책을 제시해 보겠습니다.

문제:

Go 서버를 실행할 때 정적 환경에서 올바르게 작동함에도 불구하고 CSS 및 JS 자산에 액세스할 수 없습니다. 페이지에 액세스했습니다

해결책:

이 문제를 해결하려면 정적 자산을 처리하고 제공하도록 Go 애플리케이션을 구성해야 합니다. 다음은 기본 함수의 업데이트된 버전입니다.

func main() {
    http.HandleFunc("/view/", makeHandler(viewHandler))
    http.HandleFunc("/edit/", makeHandler(editHandler))
    http.HandleFunc("/save/", makeHandler(saveHandler))
    http.HandleFunc("/index/", makeHandler(indexHandler))

    http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))

    http.ListenAndServe(":8080", nil)
}

이 코드에서는 http.Handle 함수를 사용하여 "/static/" 경로를 "정적" 디렉터리의 파일을 제공하는 핸들러에 매핑합니다. . http.FileServer 생성자는 지정된 디렉터리에서 파일을 제공하는 핸들러를 생성하고 http.StripPrefix는 파일을 제공하기 전에 요청된 경로에서 "/static/" 접두사를 제거합니다.

이런 방식으로 애플리케이션을 구성하면 "/static/css/..."에 대한 요청이 있을 때 "정적" 디렉토리에서 CSS 및 JS 파일을 제공하도록 서버에 지시합니다. "/static/js/...".

추가 참고 사항:

  • "static" 디렉토리가 프로젝트에 있고 다음을 포함하는지 확인하세요. 필수 CSS 및 JS 파일.
  • 원하는 정적 자산과 일치하도록 http.Handle 함수의 "/static/..." 경로를 조정하세요.
  • "/view/", "/edit/", "/save/", "/index/"에 대해 제공한 핸들러는 정상적으로 등록되며 정적 자산 제공에 영향을 미치지 않습니다.

위 내용은 My Go 웹 애플리케이션에서 정적 자산(CSS 및 JS)을 어떻게 제공할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.