第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 Go 模板中包含 js 文件

在 Go 模板中包含 js 文件

Go
慕工程0101907 2021-09-20 11:00:43
我最近開始學(xué)習(xí)圍棋。我得到了一個(gè)像 web 應(yīng)用程序一樣的示例。我有:/* tick-tock.go */package mainimport (    "fmt"    "io/ioutil"    "log"    "net/http")// Content for the main html page..var page = `<html>           <head>             <script type="text/javascript"               src="http://localhost:8081/jquery.min.js">             </script>             <style>                div {                 font-family: "Times New Roman", Georgia, Serif;                 font-size: 1em;                 width: 13.3em;                 padding: 8px 8px;                  border: 2px solid #2B1B17;                 color: #2B1B17;                 text-shadow: 1px 1px #E5E4E2;                 background: #FFFFFF;               }             </style>           </head>           <body>             <h2 align=center>Go Timer </h2>             <div id="output" style="width: 30%; height: 63%; overflow-y: scroll; float:left;"></div>             <div id="v1" style="width: 50%; height: 30%; overflow-y: scroll; float:left;"></div>             <div id="v2" style="width: 50%; height: 30%; overflow-y: scroll; float:left;"></div>             <input id="sett" type="submit" name="sett" value="Settings" onclick="changeUrl()">             <script type="text/javascript">               var myDelay;               $(document).ready(function ()                {                   $("#output").append("Waiting for system time..");                   myDelay = setInterval("delayedPost()", 1000);                               });               function delayedPost()                {                 $.post("http://localhost:9999/dev", "", function(data, status)                  {                    //$("#output").empty();                    $("#output").prepend(data);                 });我無法加載本地jquery.min.js. 我寫的src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"時(shí)候已經(jīng)加載了。如何加載本地js文件?我不擅長用 Go 編寫代碼,也沒有編寫完整的代碼。所以請盡量解釋得很簡單。提前致謝!
查看完整描述

1 回答

?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

您需要 aHandler或 a在請求時(shí)HandlerFunc將文件內(nèi)容 ( jquery.min.js) 發(fā)送到 Web 瀏覽器。


您有 3 個(gè)選擇:


手動(dòng)操作

這是更復(fù)雜的解決方案。它看起來就像在您的處理程序函數(shù)中讀取文件的內(nèi)容,設(shè)置正確的響應(yīng)內(nèi)容類型 ( application/javascript) 并將內(nèi)容(即 a []byte)發(fā)送到響應(yīng)。


注意事項(xiàng):讀取文件時(shí),必須指定絕對路徑。如果您指定相對路徑,請確保該文件位于您啟動(dòng)應(yīng)用程序的當(dāng)前文件夾(工作目錄)中。


例子:


func SendJqueryJs(w http.ResponseWriter, r *http.Request) {

    data, err := ioutil.ReadFile("jquery.min.js")

    if err != nil {

        http.Error(w, "Couldn't read file", http.StatusInternalServerError)

        return

    }

    w.Header().Set("Content-Type", "application/javascript; charset=utf-8")

    w.Write(data)

}


func main() {

    http.HandleFunc("/jquery.min.js", SendJqueryJs)

    panic(http.ListenAndServe(":8081", nil))

}

上面的例子只能提供 1 個(gè)文件:jquery.min.js對于請求:


http://localhost:8081/jquery.min.js

利用 http.ServeFile()

這更容易:該函數(shù)http.ServeFile()能夠?qū)⒁粋€(gè)文件的內(nèi)容發(fā)送到指定的響應(yīng)。您仍然需要?jiǎng)?chuàng)建一個(gè)函數(shù)或處理程序來使用它,但它會(huì)為您完成剩下的工作:


func SendJqueryJs(w http.ResponseWriter, r *http.Request) {

    http.ServeFile(w, r, "jquery.min.js")

}

利用 http.FileServer()

如果您需要提供多個(gè)靜態(tài)文件,這就是FileServer()函數(shù)派上用場的地方,它返回一個(gè)Handler自動(dòng)為您本地文件系統(tǒng)提供的文件,這些文件是您指定的根文件夾的后代。


這種解決方案更加靈活:它可以發(fā)送多種類型的多個(gè)文件,自動(dòng)檢測和設(shè)置內(nèi)容類型。處理程序還能夠呈現(xiàn) HTML 頁面,以列出帶有文件鏈接和父/子文件夾鏈接的目錄內(nèi)容。


例子:


http.Handle("/tmpfiles/",

    http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp"))))

這將Handler在 URL 上注冊一個(gè),該 URL/tmpfiles/提供在/tmp文件夾中本地文件系統(tǒng)中找到的文件。因此,例如以下<script>鏈接:


<script type="text/javascript" src="/tmpfiles/jquery.min.js">

/tmp/jsquery.min.js將從服務(wù)器獲取文件。


查看此答案,其中詳細(xì)介紹了如何使用/啟動(dòng)靜態(tài)文件服務(wù)器。


查看完整回答
反對 回復(fù) 2021-09-20
  • 1 回答
  • 0 關(guān)注
  • 286 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)