Go Energy GUI框架 cli 使用

energy cli 简单介绍与使用

Go ENERGY 命令行工具


简介

版本: energy v

命令参数

energy [options]

参数名说明
install环境安装
init应用初始化
build编译&构建应用
package制作应用安装包
version查看所有已发行版本
env查看开发环境变量
setenv设置开发环境变量
v查看当前cli版本
genwindows生成ico和syso
bindata小于go1.16版本内置资源到exe

详细的参数说明请在命令行执行时不添加.输出


命令参数详情

install - 环境安装

energy install

自动检查当前系统环境,并安装和配置完整的开发环境
如未指定-p在当前命令执行目录创建框架安装目录, 目录名: energy

  • 开发环境依赖模块
  • 以下模块根据不同平台提供安装选项, 并自动安装和配置
平台软件模块描述
WindowsGolang、CEF,liblcl、UPX、NSIS、7zWindows AMD, 安装选项
LinuxGolang、CEF,liblcl、UPX、7zLinux64 AMD,ARM, 安装选项
MacOSGolang、CEF,liblclMacOS AMD,ARM, 安装选项
  • 软件模块说明
软件模块说明
GolangGo语言开发环境
CEF,liblclenergy依赖底层框架
UPX二进制文件压缩工具
NSISWindows软件安装包制作程序工具
7z配合NSIS压缩CEF
默认CEF,liblcl安装当前系统架构

CEF,liblcl根据当前系统环境安装

平台CEF,liblcl
Windows 32Windows 32
Windows 64Windows 64
Linux 64Linux 64
Linux ARM 64Linux ARM 64
MacOSX 64Darwin 64
MacOS ARM 64Darwin ARM64
指定安装CEF,liblcl架构和系统位数

我们也可以使用命令参数自定义安装的软件模块架构和位数

例如: 当前 windows64 平台, 我们可以使用下面命令安装32位架构, 但不会配置到环境变量

energy install -os windows -arch 386


init- 应用初始化

energy init .

执行命令在当前目录初始化并创建一个Golang的energy应用项目

  • 提供两种资源加载模式选项
加载模式说明
HTTP常用http服务支撑资源加载, 通过网络请求
Local Load本地资源加载 1. 支持本地读取 2. 支持内置二进制执行文件中读取
目录结构

resources

本地或内置资源存放目录, 可自定义目录名, 非固定.

build

该目录自动生成: 用于编译、构建、生成安装包

文件说明

energy.json 项目配置文件, 用于构建和生成安装程序, 文件名不可更改.

go.mod 模块依赖管理, 文件名不可更改.

go.sum 自动生成

main.go energy 应用启动入口程序


build - 构建&编译应用

energy build
在应用目录main函数位置执行
energy 默认会去除调试信息和符号, 和压缩

  • 不同平台区别
平台描述
Windows去除调试信息和符号, 生成执行文件图标
Linux去除调试信息和符号
MacOS去除调试信息和符号
参数
名称描述平台
-p, --path编译的应用根目录, 默认当前目录all
-u, --upx如果安装了upx同时设置了该参数, 二进制文件将使用upx压缩, 默认未启用all
–upxFlagupx参数, 默认空all
-d, --dll内置dll, 编译时将(liblcl)内置到二进制文件中, 二进制文件会变大,同时不使用框架内的独立liblcl文件, 默认未启用all
完整参数示例使用
energy build -p /to/app/path -u --upxFlag="--best --no-color" -d

package - 制作安装包

energy package
在应用根目录执行

  • 条件
  1. 构建&编译应用, 得到二进制执行文件
  2. 开发环境和energy.json须配置正确
  • 已安装
平台安装包制作程序
WindowsNSIS
Linuxdpkg
MacOSpkgbuild
  • 附加条件
平台软件包
Windows7z, nsis7z
Linux7z
MacOSupx
配置

energy.json 应用配置,主要用于构建和制作安装包

{
  "name": "{{.Name}}",
  "projectPath": "{{.ProjectPath}}",
  "frameworkPath": "{{.FrameworkPath}}",
  "assetsDir": "assets",
  "outputFilename": "{{.OutputFilename}}",
  "info": {...},
  "nsis": {...},
  "dpkg": {...},
  "author": {
    "name": "yanghy",
    "email": "snxamdf@126.com"
  }
}

windows:
  info: {
    "icon": "{{.ProjectPath}}/resources/icon.ico",
    "companyName": "{{.CompanyName}}",
    "productName": "{{.ProductName}}",
    "fileVersion": "1.0.0",
    "productVersion": "1.0.0",
    "copyright": "Copyright.....",
    "comments": "Built using ENERGY (https://github.com/energye/energy)",
    "fileDescription": "Built using ENERGY (https://github.com/energye/energy)"
  }
 nsis: {
    "include": [],
    "exclude": ["cache"],
    "icon": "{{.ProjectPath}}/resources/icon.ico",
    "unIcon": "{{.ProjectPath}}/resources/icon.ico",
    "license": "",
    "language": "english",
    "requestExecutionLevel": "admin",
    "compress": "7za"
  }


linux: 
  info: {
    "icon": "{{.ProjectPath}}/resources/icon.png",
    "companyName": "{{.CompanyName}}",
    "productName": "{{.ProductName}}",
    "productVersion": "1.0.0",
    "comments": "Built using ENERGY (https://github.com/energye/energy)"
  }
 dpkg: {
    "include": [],
    "exclude": ["cache"],
    "package": "com.{{.CompanyName}}.{{.CompanyName}}",
    "homepage": "https://github.com/energye/energy",
    "compress": "7zz"
  }
配置字段说明
  • project
    应用根对象
字段名描述
name自动生成, 应用项目名
projectPath自动生成, 完整项目路径
frameworkPath自动生成, 完整CEF路径
assetsDir项目构建和安装包制作模板资源目录, 默认assets,如自定义须自己配置模板
outputFilename编译&构建时生成的二进制执行文件名
  • windows - info
    windows 应用信息
字段名描述
icon应用图标, windows:构建时自动加上该图标, 如是png格式会自动转换ico, linux, mac应用图标
companyName公司名称
productName产品名称
fileVersion文件版本
productVersion产品版本
copyright版本信息
comments描述
fileDescription文件描述
  • windows - nsis
    windows 应用安装包生成配置
字段名描述
iconNSIS 安装程序图标 windows
unIconNSIS 卸载程序图标 windows
include自定义打包资源
exclude排除打包资源
licenseNSIS 授权描述界面,txt文本格式, 全路径名
languageNSIS 安装程序语言, 默认:english, 中文:SimpChinese, 参考: nsis\Contrib\Language files
requestExecutionLevelNSIS 执行等级, 默认: admin, 空: 当前用户
compressCEF压缩, 目前仅支持7z
  • 关于nsis
    energy安装nsis时已经集成7z插件, 如果你自己安装可能没有7z, 制作安装包时可能报错.
    你可以通过自己下载安装和相关插件nsis或重新使用energy安装nsis

  • linux -info
    linux 应用信息

字段名描述
icon应用图标, windows:构建时自动加上该图标, 如是png格式会自动转换ico, linux, mac应用图标
companyName公司名称
productName产品名称
productVersion产品版本
comments描述
  • linux - dpkg
    linux 应用安装包生成配置
字段名描述
include自定义打包资源
exclude排除打包资源
package包名 com.companyName.productName
homepage首页
compressCEF压缩, 目前仅支持7z

version - 查看所有已发行版本

energy version
列出所有已发行的版本


env - 查看开发环境变量

energy env
列出energy开发依赖当前环境变量配置


setenv - 设置开发环境变量

energy setenv
设置energy开发环境变量配置

v - 查看当前cli版本

energy v

gen - windows 生成 ico 和 syso

energy gen --icon
energy gen --syso

bindata - 内嵌资源到exe中

//go:generate energy bindata --fs --o=assets/assets.go --pkg=assets --paths=./assets

执行Go生成命令
go generate

命令行工具获取

下载地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/583855.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mycat(三)读写分离双主双从

文章目录 搭建双主双从双主机配置双从机配置双从配置两个主机互相复制停止从服务复制功能重新配置主从 修改 Mycat 的集群配置实现多种主从双主双从集群角色划分增加两个数据源修改集群配置文件读写分离配置扩展(1)读写分离(一主一从,无备)(m是主,s是从)…

Grafana页面嵌入自建Web应用页面

目录 一、应用场景 二、实现方式 1、修改Grafana配置文件 2、获取监控页面url 3、隐藏左侧和顶部菜单 一、应用场景 需要将Grafana监控页面嵌入自建Web应用页面,使Grafana监控页面成为自建Web应用的一部分。 二、实现方式 总体思路:修改Grafana配…

刷机维修进阶教程-----红米note7 修复基带 更改参数 nv损坏故障 实例步骤操作解析

在前面的博文中我有说过。不管刷更改参数还是修复基带,尽可能的情况下备份一些主要分区,上期讲了小米6x 小米5 小米6这些机型更改参数的具体步骤。今天的教程以红米note7为例解析下改参数和修复nv损坏的具体步骤,两者操作实际没有什么冲突。有兴趣的友友建议多看下我关于…

10G MAC层设计系列-(2)MAC RX模块

一、概述 MAC RX模块的需要进行解码、对齐、CRC校验。 因为在空闲的时候10G PCS/PMA会一直向外吐空闲符(x07)所以需要根据开始符、结束符将有效数据从码流中截取,也就是解码。 因为开始字符的所在位置有两种形式,而结束字符的位…

大数据学习笔记14-Hive基础2

一、数据字段类型 数据类型 :LanguageManual Types - Apache Hive - Apache Software Foundation 基本数据类型 数值相关类型 整数 tinyint smallint int bigint 小数 float double decimal 精度最高 日期类型 date 日期 timestamps 日期时间 字符串类型 s…

UE C++ 链表

目录 概要单链表双向链表头插入尾插入中间插入删除查找 小结 概要 链表 简单说明,链表有单链表,双向链表,循环链表(本篇文章以UE c代码说明)。链表的操作,插入,删除,查找。插入,删除效率高&…

练习题(2024/4/29)

在深度优先遍历中:有三个顺序,前中后序遍历 这里前中后,其实指的就是中间节点的遍历顺序,只要记住 前中后序指的就是中间节点的位置就可以了。 如图 1二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前…

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http测试板块)

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http测试板块) 一、使用Http网页界面1、main.cc原码和index.html原码2、运行结果(1)测试结果1:用index.html内部的代码(2&#xf…

《HelloGitHub》第 97 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

win下vscode的vim切换模式的中英文切换

问题描述 在vscode中安装vim插件后,如果insert模式下完成输入后,在中文输入方式下按esc会发生无效输入,需要手动切换到英文。 解决方法 下载完成vscode并在其中配置vim插件下载github—im-select.exe插件(注意很多博文中的gitcod…

Microsoft Threat Modeling Tool 使用(二)

主界面 翻译 详细描述 选择了 “SDL TM Knowledge Base (Core)” 模板并打开了一个新的威胁模型。这个界面主要用于绘制数据流图(Data Flow Diagram, DFD),它帮助您可视化系统的组成部分和它们之间的交互。以下是界面中各个部分的功能介绍&a…

软件设计师-重点的行为型设计模式

一、命令模式(Command): 意图:(上午题) 将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 结构…

Django-基础篇

Django是一个开放源代码的Web应用框架,由Python语言编写。它遵循MVC(Model-View-Controller)的软件设计模式,使开发者能够以高效、可扩展和安全的方式构建Web应用程序。 Django具有以下特点和优势: 强大的功能&#x…

[技术小技巧] 可视化分析:在jupyter中使用d3可视化树形结构

首先在python中定义一个字符串,记录d3.js绘制属性图的js脚本代码模版。其中{{data}}就是将来要被替换的内容。 d3_code_template """ // 创建树状结构数据 var treeData {{data}};// 创建d3树布局 var margin { top: 20, right: 90, bottom: 30,…

行业推荐:数据防泄漏软件首先解决方案

随着信息时代的快速发展,数据安全已成为企业经营的关键之一。然而,数据泄漏事件时有发生,不仅可能导致巨大的经济损失,更会损害企业的声誉和客户信任。 为了帮助企业有效地保护数据安全,Ping32 数据防泄漏系统应运而生…

【跟我学RISC-V】认识RISC-V指令集并搭建实验环境

写在前面 现在计算机的体系架构正是发展得如火如荼的时候,占领桌面端市场的x86架构、占领移动端市场的arm架构、在服务器市场仍有一定地位的mips架构、国产自研的指令集loongarch架构、还有我现在要讲到的新型开源开放的RISC-V指令集架构。 我先说一说我的学习经历…

Facebook的语言学:社交媒体如何影响我们的沟通方式

1. 引言 社交媒体已经成为人们日常生活中不可或缺的一部分,而Facebook作为其中最具影响力的平台之一,不仅改变了人们之间的社交方式,也对我们的语言学产生了深远的影响。本文将深入探讨Facebook的语言学特点,以及它如何塑造和改变…

【C++题解】1608. 三位数运算

问题:1608. 三位数运算 类型:基本运算、拆位求解 题目描述: 小丽在编程课上学会了拆位运算,她已经可以拆出一个三位整数的百位、十位和个位了,她想知道这个整数的(百位 十位) / (…

Web3与智能合约:科技革新下的新金融时代

在当今数字化时代,Web3和智能合约正在共同塑造着金融领域的未来。Web3作为下一代互联网的重要组成部分,以其去中心化、安全性和透明性为核心特点,正推动着金融行业向着数字化和去中心化的方向发展。而智能合约作为Web3技术的关键应用之一&…

虚拟机网络桥接模式无法通信,获取到的ip为169.254.X.X

原因:VMware自动选择的网卡可能不对 解决:编辑-虚拟网络编辑器-更改桥接模式-选择宿主机物理网卡,断开虚拟机网络连接后重新连接即可