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

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

  •  
  •   IIInsomnia ·
    shenghui0779 · 2020-03-22 15:14:01 +08:00 · 6016 次点击
    这是一个创建于 1709 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    前端走前端的构建流程,go 走自己的编译发布流程,这样不是更好吗?
    duanquanyong
        26
    duanquanyong  
       2020-03-24 10:08:28 +08:00
    @Chingim 如果你修改页面功能,同时涉及接口和 html,你需要保障同时发布,你需要匹配管理 html 代码和 api 服务的版本。当然我不是说两种模式哪一种更好,我只是在说各有优点,针对不同的业务场景,业务规模和业务要求,都有自己都价值。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3382 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.