我有一個去webserver的庫,並且包含js文件,所以這應該是用戶應用程序的目錄樹。 myapp
是用戶應用程序,mylib
是通過go get
獲取的庫。Golang在不同目錄中提供靜態文件
src
`-- github.com
|-- mylib
| |-- myJSlib
| `-- myGOlib
`-- myapp
|-- main.go
`-- static
|-- index.html
|-- js
`-- css
用戶應用程序的Web服務器將服務於靜態HTML中static
子目錄通過
http.Handle("/", http.FileServer(http.Dir("static"))
我的問題是我不能包括庫的腳本到index.html
因爲http.FileServer
服務目錄static
。天真的解決方案是我將http.FileServer
的根移動到src
。但是這不是我想要的解決方案,因爲在從src
包含腳本時需要詳細說明。另一種解決方案是我告訴用戶將js文件移動到static
目錄中,如果用戶處於生產模式並且我已經縮小了我的jslib版本,但是在需要結構化樹文件夾的開發模式下這很好,但這無法解決問題。也許我可以分開repo爲myGOlib和myJSlib,用戶可以使用go get
來獲取myGOlib並將myJSlib克隆到靜態目錄中。但是我想用戶只需簡單地使用go get
,並且一切都可以同時工作,而不需要再次將結構化。
任何解決方案,將不勝感激。感謝
解決方案似乎合乎邏輯,我必須嘗試它,但註冊第二處理程序時遇到困難。看來我不能註冊處理程序,除了「/」。我在瀏覽器中收到這個錯誤'GET http:// localhost:8080/thirdparty 404(Not Found)'。 – billyzaelani
使用http.StripPrefix解決。謝謝 – billyzaelani