单页面应用(embedded Single Page Application Other router)
目录结构
主目录
embeddedSPAWithOtherRoutes
—— main.go
—— public
—— css
—— main.css
—— index.html
—— app.js
示例代码
main.go
package main
import "github.com/kataras/iris"
// $ go get -u github.com/shuLhan/go-bindata/...
// $ go-bindata ./public/...
// $ go build
// $ ./embedded-single-page-application-with-other-routes
func newApp() *iris.Application {
app := iris.New()
app.OnErrorCode(404, func(ctx iris.Context) {
ctx.Writef("404 not found here")
})
app.StaticEmbedded("/", "./public", Asset, AssetNames)
//注意:
//如果您想要一个动态索引页面,请查看file-server/embedded-single-page-application
//正在注册基于bindata的视图引擎和根路由。
app.Get("/ping", func(ctx iris.Context) {
ctx.WriteString("pong")
})
app.Get("/.well-known", func(ctx iris.Context) {
ctx.WriteString("well-known")
})
app.Get(".well-known/ready", func(ctx iris.Context) {
ctx.WriteString("ready")
})
app.Get(".well-known/live", func(ctx iris.Context) {
ctx.WriteString("live")
})
app.Get(".well-known/metrics", func(ctx iris.Context) {
ctx.Writef("metrics")
})
return app
}
func main() {
app := newApp()
// http://localhost:8080/index.html
// http://localhost:8080/app.js
// http://localhost:8080/css/main.css
// http://localhost:8080/ping
// http://localhost:8080/.well-known
// http://localhost:8080/.well-known/ready
// http://localhost:8080/.well-known/live
// http://localhost:8080/.well-known/metrics
//记住:我们可以使用根通配符`app.Get("/{param:path}")`并手动提供文件。
app.Run(iris.Addr(":8080"))
}
/public/app.js
window.alert("app.js loaded from \"/");
/public/index.html
<html>
<head>
<title>{{ .Page.Title }}</title>
</head>
<body>
<h1> Hello from index.html </h1>
<script src="/app.js"> </script>
</body>
</html>
/public/css/main.css
body {
background-color: black;
}
当前内容版权归 studyiris.com 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 studyiris.com .