3 回答

TA貢獻1789條經驗 獲得超8個贊
我使用的是 windows 機器(windows 10 和 windows server 2019),我在 javascript 文件上遇到了同樣的問題,我進入注冊表并將其從“text/plain”\HKEY_CLASSES_ROOT\.js > "Content Type"
更改為“application/javascript”,然后重新啟動 PC并修復了它

TA貢獻1900條經驗 獲得超5個贊
為什么會這樣?
出現此錯誤是因為 Go 正在自動檢測文件的內容類型。為了進行自動檢測,它使用一個映射,該映射指向文件擴展名(如 .js)-> MIME 類型(如文本/純文本)。要獲取此地圖,它會從本地機器讀取它。因此,如果您的本地計算機在其注冊表(或您的操作系統的等效項)中對于 .css 文件的值不正確,并且您使用的代碼會自動檢測正在提供的文件的 MIME 類型,那么這可能會發生。
什么是注冊表設置不正確?
我在重新安裝或卸載 Visual Studio 時遇到不正確的注冊表值。
Windows修復
您需要使用 regedit 編輯注冊表項,以便“內容類型”注冊表項指向正確的值。您可以在兩個地方找到擴展密鑰:
HKEY_CLASSES_ROOT 包含一個列表。就我而言,我在該列表中查找 .js 并將其值從 text/plain 更改為 application/javascript。在原始發帖者的位置,錯誤似乎在 .css 中,因此您將 HKEY_CLASSES_ROOT\.css 鍵“內容類型”設置為文本/css。
HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES 也包含一個列表。您應該以相同的方式更新它,使其與 HKEY_CLASSES_ROOT 相匹配。在我的例子中,這已經正確設置為 application/javascript 所以我假設它不是 Go 正在讀取的第一個注冊表值。

TA貢獻1827條經驗 獲得超9個贊
我在 Windows 上遇到了這個問題,我通過
func FixMimeTypes() {
? ? err1 := mime.AddExtensionType(".js", "text/javascript")
? ? if err1 != nil {
? ? ? ? log.Printf("Error in mime js %s", err1.Error())
? ? }
? ? err2 := mime.AddExtensionType(".css", "text/css")
? ? if err2 != nil {
? ? ? ? log.Printf("Error in mime js %s", err2.Error())
? ? }
}
- 3 回答
- 0 關注
- 195 瀏覽
添加回答
舉報