V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
IIInsomnia

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

  •  
  •   IIInsomnia ·
    shenghui0779 · Mar 22, 2020 · 6864 views
    This topic created in 2230 days ago, the information mentioned may be changed or developed.

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

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

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

    前端走前端的构建流程,go 走自己的编译发布流程,这样不是更好吗?
    duanquanyong
        26
    duanquanyong  
       Mar 24, 2020
    @Chingim 如果你修改页面功能,同时涉及接口和 html,你需要保障同时发布,你需要匹配管理 html 代码和 api 服务的版本。当然我不是说两种模式哪一种更好,我只是在说各有优点,针对不同的业务场景,业务规模和业务要求,都有自己都价值。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   933 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 18:58 · PVG 02:58 · LAX 11:58 · JFK 14:58
    ♥ Do have faith in what you're doing.