0
我使用Intelj IDEA開發golang,但是當我使用調試來構建我的項目時,在調試到此線路時http.ServeFile(w, r, "./static/html/login.html")
,我得到404 not found
,但是在命令運行中,我可以得到這個靜態頁面。http.ServeFile無法獲取靜態資源,但運行命令可以獲得
我使用Intelj IDEA開發golang,但是當我使用調試來構建我的項目時,在調試到此線路時http.ServeFile(w, r, "./static/html/login.html")
,我得到404 not found
,但是在命令運行中,我可以得到這個靜態頁面。http.ServeFile無法獲取靜態資源,但運行命令可以獲得
路徑"./static/html/login.html"
是一個相對路徑。當您使用go run ...
時,您可能正處於相對路徑正確解析的目錄中。 IntelliJ二進制文件可能會在不同的目錄中執行,導致此相對路徑不正確。
您可以在調用ServeFile(...)
時使用絕對路徑,將IDE配置爲在源目錄中執行go命令作爲工作目錄,或者允許將應用程序配置爲使用任何給定路徑作爲你的靜態內容。前兩個選項將暫時解決您的問題。當你不得不運送你的二進制文件時,它會受到你現在遇到的同樣的問題的影響。第三個選項將允許您的應用程序處理任何環境,因爲路徑可以由用戶明確定義。