亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang 和 JavaScript 模塊

Golang 和 JavaScript 模塊

Go
MMTTMM 2023-07-26 17:06:22
我想將 Polymer LitElement 與 Go 后端結合使用。通過 LitElement,我在 JavaScript 模塊中實現了 Web 組件!對于服務器端的路由,我使用 Gorilla Mux,如下所示mux := mux.NewRouter()mux.PathPrefix("/").Handler(http.FileServer(http.Dir("./wwwroot")))這會正確加載靜態 html 文件。當 html 文件引用實現 Web 組件的js文件時,我收到以下錯誤(在 Chrome 中):無法加載模塊腳本:服務器以非 JavaScript MIME 類型“text/plain”進行響應。根據 HTML 規范對模塊腳本強制執行嚴格的 MIME 類型檢查。當我將組件模塊重命名為擴展名mjs時,文件會正確加載,但 LitElement 的模塊無法加載,并出現相同的錯誤。由于我對所有第三方 JavaScript 模塊的文件擴展名沒有影響,我不知道如何解決這個問題。(我想如果我使用 Polymer 3 而不是 LitElement,我也會遇到同樣的問題)有任何想法嗎?更新以下是請求 lit-element.js JavaScript 模塊的輸出curlPS C:\Test\Polymer\LitElement> curl http://localhost:8082/node_modules/lit-element/lit-element.jsStatusCode        : 200StatusDescription : OKContent           : /**                     * @license                     * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.                     * This code may only be used under the BSD style license found at                     * http://polymer.github.io/LICENSE.txt                     * Th...RawContent        : HTTP/1.1 200 OK                    Accept-Ranges: bytes                    Content-Length: 8925                    Content-Type: text/plain; charset=utf-8                    Date: Thu, 26 Sep 2019 11:38:23 GMT                    Last-Modified: Sat, 26 Oct 1985 08:15:00 GMT                    /**                     * @licen...Forms             : {}Headers           : {[Accept-Ranges, bytes], [Content-Length, 8925], [Content-Type, text/plain; charset=utf-8], [Date,                    Thu, 26 Sep 2019 11:38:23 GMT]...}Images            : {}InputFields       : {}Links             : {}ParsedHtml        : mshtml.HTMLDocumentClassRawContentLength  : 8925注意內容類型!?。?
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

您確定到達了正確的終點嗎?


請參閱那個小示例(您可以嘗試在您的主機上進行檢查)


$ tree

.

├── main.go

└── wwwroot

    └── test.js


1 directory, 2 files


$ cat main.go 

package main


import (

    "net/http"


    "github.com/gorilla/mux"

)


func main() {

    mux := mux.NewRouter()

    mux.PathPrefix("/").Handler(http.FileServer(http.Dir("./wwwroot")))


    http.ListenAndServe(":8080", mux)

}



$  cat wwwroot/test.js


$ go run main.go &

[1] 11841

$ curl -v http://localhost:8080/test.js

*   Trying ::1:8080...

* TCP_NODELAY set

* Connected to localhost (::1) port 8080 (#0)

> GET /test.js HTTP/1.1

> Host: localhost:8080

> User-Agent: curl/7.65.3

> Accept: */*

* Mark bundle as not supporting multiuse

< HTTP/1.1 200 OK

< Accept-Ranges: bytes

< Content-Length: 0

< Content-Type: application/javascript

< Last-Modified: Thu, 26 Sep 2019 12:12:15 GMT

< Date: Thu, 26 Sep 2019 12:15:36 GMT

* Connection #0 to host localhost left intact


查看完整回答
反對 回復 2023-07-26
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

在我的項目中,我遇到了同樣的問題。以下是我的解決方案:在tsconfig.json文件中,make"target": "es5"



查看完整回答
反對 回復 2023-07-26
  • 2 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號