github.com/volts-dev/volts@v0.0.0-20240120094013-5e9c65924106/README.md (about)

     1  Warning: This package is a work in progress. After some preliminary testing, I think I might change a lot of how this package is structured.
     2  # volts.dev
     3  a golang web+rpc framework
     4  
     5  框架提供关于Http服务器端最精简逻辑实现,理论上可以兼容大部分其他框架中间件(需要小量修改)
     6  
     7  ## QQ Group 151120790
     8  
     9  	服务器目录树
    10  	App
    11  	│
    12  	├─module 应用模块目录
    13  	│  ├─web 模块目录
    14  	│  │  ├─static 静态资源目录
    15  	│  │  │   ├─uploads 上传根目录
    16  	│  │  │   ├─lib 资源库文件目录(常用作前端框架库)
    17  	│  │  │   └─src 资源文件
    18  	│  │  │      ├─js 资源Js文件目录
    19  	│  │  │      ├─img 资源图片文件目录
    20  	│  │  │      └─css 资源Css文件
    21  	│  │  ├─model 模型目录
    22  	│  │  ├─template 视图文件目录
    23  	│  │  ├─data 数据目录
    24  	│  │  ├─model 模型目录
    25  	│  │  └─controller.go 控制器
    26  	│  │
    27  	│  ├─base 模块目录
    28  	│  │
    29  	│  └─... 扩展的可装卸功能模块或插件
    30  	│
    31  	├─static 静态资源目录
    32  	│  ├─uploads 上传根目录
    33  	│  ├─lib 资源库文件目录(常用作前端框架库)
    34  	│  └─src 资源文件
    35  	│     ├─js 资源Js文件目录
    36  	│     ├─img 资源图片文件目录
    37  	│     └─css 资源Css文件
    38  	├─template 视图文件目录
    39  	├─deploy 部署文件目录
    40  	│
    41  	├─main.go 主文件
    42  	└─main.ini 配置文件
    43  
    44  ## hello world demo
    45  
    46  	package main
    47  
    48  	import (
    49  		"fmt"
    50  		"github.com/volts-dev/volts/server"
    51  	)
    52  
    53  	type (
    54  		ctrls struct {
    55  		}
    56  	)
    57  
    58  	func (self ctrls) hello_world(hd *server.THandler) {
    59  		hd.RespondString("Hello volts.dev World!")
    60  	}
    61  
    62  	func main() {
    63  		srv := server.NewServer("name")
    64  		srv.Url("Get","/hello", ctrls.hello_world)
    65  		srv.Url("Get","/hello2", func(c *web.THandler) {
    66  			c.RespondString("Hello, World")
    67  			return
    68  		})
    69  
    70  		srv.Url("Get","/hello3", func(c *server.THandler) {
    71  			c.RenderTemplate("hello_world.html", map[string]interface{}{"static": "youpath"})
    72  			fmt.Println("b", c.Route.FilePath)
    73  			return
    74  		})
    75  
    76  		srv.Listen(":8080")
    77  	}