Leafveingo是一个轻量级的MVC web框架,帮助快速简洁的完成一个web或api项目。
Leafveingo是以模块组件进行开发,要求的是高效耦合度,将特殊的模块进行划分,分开进行调用与设置。
特点:
1. 多项目集成,同一个端口可运行多个项目或使用不同端口运行。
2. 灵活的路由接口,可自定义实现路由,只需要根据规则进行即可。
3. 待续..
目前只是一个基础框架,有很多功能都没有实现,后续会继续实现更多便捷实用的功能模块。
$GOPATH
└─src
└─samplebuild // 项目的编译目录(以build为结尾)
├─sample // app项目名称目录,需要与编译文件同一个目录,这样编译文件就会根据设置的App名称查找到所需要的文件操作文件
│ ├─template // 存放模板文件目录
│ ├─webRoot // web工作主目录,主要存放静态文件js、css、html...等公共访问文件,webRoot目录下都可以自定义分配安排,以下只是建议的项目规划
│ │ ├─images // (可选) 一些网站所使用的公用图片目录
│ │ ├─js // (可选) javascript 文件目录
│ │ └─themes // (可选) css主题存放目录,这样做的目的主要是可以方便切换皮肤
│ │ ├─core // (可选) css核心文件目录
│ │ │ └─core.css // (可选) css核心文件
│ │ └─default // (可选) 默认css皮肤主题目录
│ │ ├─css // (可选) 默认皮肤主题的css存放目录
│ │ │ ├─images // (可选) 默认皮肤主题所使用的图片目录,这样style.css访问图片路径时更好操作。
│ │ │ └─style.css// (可选) 默认皮肤主题的css文件
│ │ └─js // (可选) 默认皮肤主题所使用的javascript文件目录
│ │ └─init.js // (可选) 默认皮肤主题所需要初始化的javascript函数或布局所使用的文件
│ └─config // 配置文件存放目录
├─src // 存放源代码的文件夹分类(src只是为了区分源代码文件和其他资源文件)
│ ├─controllers // 控制器源代码文件目录
│ └─models // 模型目录
└─main.go // 项目主文件
使用go命令
go get github.com/slowfei/gosfcore
go get github.com/slowfei/gosfuuid
go get github.com/slowfei/leafveingo
默认使用8080端口
main.go
package main
import (
"github.com/slowfei/leafveingo"
router "github.com/slowfei/leafveingo/router"
)
type MainController struct {
tag string
}
// 控制器的默认请求访问的函数(Index),URL结尾检测为"/"( http://localhost:8080/ )
func (m *MainController) Index() string {
return "Hello world, Leafvingo web framework"
}
func main() {
// 创建服务
server := leafveingo.NewLeafveinServer("sample", leafveingo.DefaultOption())
// 添加控制器
server.AddRouter(router.CreateReflectController("/", MainController{}))
// 启动
leafveingo.Start()
}
go build 编译可执行文件(samplebuild)
可选择开发模式运行(加上参数-devel):./samplebuild -devel
然后在浏览器中打开:http://localhost:8080/
这样就会默认进入到MainController的Index函数中。
然后浏览器中会输出:Hello world, Leafvingo web framework
can't find import: "github.com/slowfei/gosfcore/*..."
can't find import: "github.com/slowfei/gosfuuid"
直接在需要编译的项目路径中用go install命令来安装gosfcore和gosfuuid
进入Leafveingo基础入门 (注意:Leafveingo整改后文档还未整改完成,可以先查看sample案例)
使用协议 LICENSE
Leafveingo All source code is licensed under the Apache License, Version 2.0 (the "License");