Gin: ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΆΠΈΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ js?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 10 нояб. 2016  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: gin-gonic/gin

ΠΏΡ€ΠΈΠ²Π΅Ρ‚, я Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Π΄ΠΆΠΈΠ½. οΌ© Ρ…ΠΎΡ‡Ρƒ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ html-Ρ„Π°ΠΉΠ», этот Ρ„Π°ΠΉΠ» (upload.html) ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ js-Ρ„Π°ΠΉΠ»Ρ‹. Но ΠΎΠ½ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Ссли ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ эти Ρ„Π°ΠΉΠ»Ρ‹ js, ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ?
Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° ΠΌΠΎΠΉ ΠΏΠ»ΠΎΡ…ΠΎΠΉ английский!

func main(){    
    router := gin.Default()
    router.LoadHTMLGlob("templates/*")
//    router.LoadHTMLFiles("templates/upload.html")
    router.GET("/index",func(c *gin.Context){
        c.HTML(http.StatusOK, "upload.html", gin.H{
            "title": "Main website",
        })
    } )
    router.POST("/upload",uploadHandler)            
    router.Run(":8080")                       
}

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

@robvdl спасибо

@kekemuyu я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ исправил ваш ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

package main

import "gopkg.in/gin-gonic/gin.v1"

func main(){    
    router := gin.Default()

    router.Static("/assets", "./assets")

    router.LoadHTMLGlob("templates/*")
    //router.LoadHTMLFiles("templates/upload.html")
    router.GET("/index",func(c *gin.Context){
        c.HTML(http.StatusOK, "upload.html", gin.H{
            "title": "Main website",
        })
    } )
    router.POST("/upload",uploadHandler)            
    router.Run(":8080")                       
}

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ src Π² HTML, ΡƒΠΊΠ°Π·Π°Π² Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС Π½Π° /assets/* .

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅.

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ Π½Π΅ Β«Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅Β» Ρ„Π°ΠΉΠ»Ρ‹ JS, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, вмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ статичСского ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ всС свои Ρ„Π°ΠΉΠ»Ρ‹ .js Π² ΠΏΠ°ΠΏΠΊΡƒ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ «общСдоступной» Π² Go, ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° просто «статичСской».

ВзглянитС Π½Π° https://github.com/gin-gonic/contrib/tree/master/static

@robvdl спасибо

@kekemuyu я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ исправил ваш ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

package main

import "gopkg.in/gin-gonic/gin.v1"

func main(){    
    router := gin.Default()

    router.Static("/assets", "./assets")

    router.LoadHTMLGlob("templates/*")
    //router.LoadHTMLFiles("templates/upload.html")
    router.GET("/index",func(c *gin.Context){
        c.HTML(http.StatusOK, "upload.html", gin.H{
            "title": "Main website",
        })
    } )
    router.POST("/upload",uploadHandler)            
    router.Run(":8080")                       
}

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ src Π² HTML, ΡƒΠΊΠ°Π·Π°Π² Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС Π½Π° /assets/* .

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅.

Ах, Π΄Π°, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я помню, статичСскоС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ПО трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ статичСскиС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· / вмСсто Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ URL-адрСса, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ / static (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ обслуТивании SPA), это связано с Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Gin Π½Π° основС httprouter .

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС достаточно router.Static () :)

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ