首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
beego
GeekHub
IIInsomnia
V2EX  ›  Go

Go 开发后台管理系统,将前端资源一起编译,是不是很酷?!

  •  
  •   IIInsomnia · 18 天前 · 3528 次点击

    goadmin

    Go 开发后台管理系统,将前端资源一起编译,是不是很酷?!

    image

    image

    Features

    Requirements

    Go1.11+

    Usage

    • 下载 goadmin 并解压
    • 执行 go mod download
    • 创建数据库后导入 goadmin.sql
    • 创建配置文件 yiigo.toml 并配置数据库连接,参考 yiigo.toml.example

    编译前端资源

    • 安装 go.rice 工具,参考 go.rice
    • assetsviews 目录下分别执行 rice embed-go
    • 最后 go build -o goadmin

    ⚠️ 注意

    项目使用了 gracehttp,Windows 下不支持,如需编译 Windows 版本,建议去掉

    默认登录账号:admin admin

    26 条回复    2020-03-24 10:08:28 +08:00
    jinsongzhao
        1
    jinsongzhao   18 天前
    都打包一起部署适合不太变化的业务,后台管理正适合,还有产品化的东西。
    WFMS
        2
    WFMS   18 天前
    已点亮
    Reficul
        3
    Reficul   18 天前 via Android
    gobindata,afero 之类的很早就有了。
    vus520
        4
    vus520   18 天前
    问下老板,有没有好用的数据库迁移的包,最好能根据 model 自动修改表结构
    solos
        5
    solos   18 天前
    我用的这个 还是挺香的 https://github.com/gobuffalo/packr
    geekvcn
        6
    geekvcn   18 天前 via Android   ❤️ 6
    一点都不酷,甚至有点蠢
    remon
        7
    remon   18 天前 via Android   ❤️ 1
    好不容易大家各搞各的互不影响了,为什么要再搞到一起。要是搞离线应用还可以理解
    my3157
        8
    my3157   18 天前   ❤️ 1
    @solos #5 buffalo 编译慢成一坨

    后端 API 单独部署, 纯静态网页放到对象存储, 再加上 CDN 不香么, 为啥要一起打包
    loading
        9
    loading   18 天前 via Android
    用 quasar,多平台客户端直接出,不也挺香?
    mangogeek
        10
    mangogeek   18 天前
    前后端分离的一般不这样吧
    zr8657
        11
    zr8657   18 天前
    此 jsp 可待成追忆
    Jason0803
        12
    Jason0803   17 天前
    真没必要。。。
    eslizn
        13
    eslizn   17 天前
    说 cdn 的审下题,这个是管理端,另外不仅仅可以打包静态资源,还可以把模板也一起打包了,第一次知道这种做法是在 qor 里面。ps:多个管理端已上车,确实挺方便的,还能减少不必要的磁盘 io
    ajaxfunction
        14
    ajaxfunction   17 天前
    我凡是这样部署,说明客户没有结清尾款,不想把源码给对方,等哪天是要一键关停的
    airplayxcom
        15
    airplayxcom   17 天前 via iPhone
    html 加个换行 还得重新编译呗
    yrj
        16
    yrj   17 天前 via iPad
    我就是这么做的,也是用的 rice
    wsseo
        17
    wsseo   17 天前
    特定场景还是有用的
    ifoto
        18
    ifoto   17 天前
    此法专治无赖偷源码怪
    duanquanyong
        19
    duanquanyong   17 天前
    @airplayxcom

    我们我们就是这样用的,项目发布很方便,git 提交代码,持续集成编译发布。说不方便修改 html 的,你们是要在服务器上直接改么?还不是要提交代码到 git 后打 release 再发布?而且编译进二进制也可以兼容本地目录,当本地存在时用本地,本地不存在时用编译进去的,不是更香么。
    labulaka521
        20
    labulaka521   17 天前
    这类工具多如牛毛
    lsls931011
        22
    lsls931011   17 天前
    为啥你们取的名字都这么像呢, 为啥你们想得也一样的呢😓
    zhiguang
        23
    zhiguang   17 天前
    maven 一样有执行 node 命令的插件 ,后台前端一起打包
    Hyduan
        24
    Hyduan   17 天前
    frp 也用了这种做法 用了 statik 库
    Chingim
        25
    Chingim   17 天前 via Android
    @duanquanyong 我只改静态资源为啥还要走一次编译过程,就算 cicd 有缓存,拉取缓存也需要时间啊。

    前端走前端的构建流程,go 走自己的编译发布流程,这样不是更好吗?
    duanquanyong
        26
    duanquanyong   16 天前
    @Chingim 如果你修改页面功能,同时涉及接口和 html,你需要保障同时发布,你需要匹配管理 html 代码和 api 服务的版本。当然我不是说两种模式哪一种更好,我只是在说各有优点,针对不同的业务场景,业务规模和业务要求,都有自己都价值。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3114 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:07 · PVG 22:07 · LAX 07:07 · JFK 10:07
    ♥ Do have faith in what you're doing.