1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/veni0-ego

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 6.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 11.03.2025 03:48 595ccd2

Ego

Статус сборки codecov Статус CircleCI Отчет Go Report Card Документация GoDoc Релиз Присоединиться к чату

Ego — это полный стек веб-фреймворк, написанный на Go с использованием Gin. Он предлагает легковесное и эффективное решение для компонентов фронтенда. Внедряется компиляция фронта, что не влияет на производительность бэкенда.

Этот проект находится в процессе совершенствования.

Содержание

Требования:

Версия Go ≥1.7

Установка:

go get github.com/go-ego/ego

Обновление:

go get -u github.com/go-ego/ego  

Инструменты сборки

go get -u github.com/go-ego/re 

re new

Создает новый проект Ego веб-приложения

$ re new my-webapp

Запуск приложения

Чтобы запустить созданное вами веб-приложение, вы можете перейти в папку с проектом и выполнить следующую команду:

$ cd my-webapp && re run

Примеры использования:

Примеры использования

Маршрутизация

package main

import (
	"github.com/go-ego/ego"
)

func main() {

	router := ego.Classic()
	ego.UseRenders()

	router.GlobHTML("views/html/*")

	parArr := [5]int{1, 2, 3, 4, 5}
	router.Ego("/head/", "head/head.html", ego.Map{
		"head":   "Test to load the HTML template",
		"parArr": parArr,
	})

	router.Run(":3100")
}

icon.vgo

<!-- pkg icon -->

<div class="icon">
	<i class="iconfont {vclass}" {node}></i>
	<p>{prpo}</p>
</div>

<style>

.header-left{
	float:left;
}

.header-right{
	float:right;
}

.iconfont {
	position: relative;
	font-size:24px
}
</style>

head.vgo

import (
	"icons"
	icon "icons/icon.vgo"
	)

<div class="head">
	<div>ego:{{.head}}</div>

	<icon>
		vclass={icon-share-to}
		node={ id="slot1"}
		prpo={node---1}
	</icon>

	<div>
		{{range .parArr}}
	        <p>arr::: {{.}}</p>
		{{end}}
	</div>
```</div>

Вывод:

TestRestful


package main

import (
	"github.com/go-ego/ego"
)

const httpUrl string = "http://127.0.0.1:3000"

func main() {

	router := ego.Classic()

	router.Static("/js", "./views/js")
	router.Static("/src", "./views/src")
	router.GlobHTML("views/html/*")

	strUrl := httpUrl + "/test/hlist"
	paramMap := ego.Map{
		"lon":  "10.1010101",
		"lat":  "20.202020",
		"type": "1",
	}
	router.TestHtml(strUrl, paramMap) // HTTP URL, HTTP параметры, аргументы (необязательные параметры): по умолчанию "data"

	router.Run(":3100")
}

Результат:

Дополнительные сведения

Планы развития

  • Сжатие и объединение CSS/JS
  • Предварительная обработка CSS
  • Поддержка MVVM и VDOM
  • Обновление веб-фреймворка

Донат

Вклад

  • Чтобы внести свой вклад в Ego, пожалуйста, ознакомьтесь с инструкциями по внесению вклада. Создайте форк -> примените исправление -> отправьте изменения -> проведите тестирование -> создайте запрос на слияние.

  • Посмотрите страницу участников для полного списка участников.

Лицензия

Ego распространяется главным образом под условиями лицензий MIT и Apache License (версия 2.0), с некоторыми частями, покрытыми различными лицензиями типа BSD.

Детали можно найти в LICENSE-APACHE, LICENSE-MIT и COPYRIGHT.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/veni0-ego.git
git@api.gitlife.ru:oschina-mirror/veni0-ego.git
oschina-mirror
veni0-ego
veni0-ego
master