玩转OurBMC第二十四期:玩转OurBMC之BMC前端模式

【栏目介绍:“玩转OurBMC”是OurBMC社区开创的知识分享类栏目,主要聚焦于社区和BMC全栈技术相关基础知识的分享,全方位涵盖了从理论原理到实践操作的知识传递。OurBMC社区将通过“玩转OurBMC”栏目,帮助开发者们深入了解到社区文化、理念及特色,增进开发者对BMC全栈技术的理解。

欢迎各位关注“玩转OurBMC”栏目,共同探索OurBMC社区的精彩世界。同时,我们诚挚地邀请各位开发者向“玩转OurBMC”栏目投稿,共同学习进步,将栏目打造成为汇聚智慧、激发创意的知识园地。】

本期内容我们来聊聊在 OpenBMC 的 WebUI 中,那些看似不起眼却至关重要的“.env.ourbmc”、“.env.intel” 等配置文件。如果你是一位webui-vue开发者、bmc开发者,或者对网页制作感兴趣,这篇文章将为你揭开这些文件背后的奥秘。

当你深入研究OpenBMC的代码或部署时,可能会在WebUI的配置目录中发现一些以.env.ourbmc”、“.env.intel”等命名的配置文件以及env目录下面还有导航,store,路由,风格配置,均以”ourbmc”,”intel”这样的名字命名。

 

01 这些文件是什么

其实这一系列组合拳的标准学名叫做“模式管理”,并且webui-vue与普通的前端项目不同,他在“模式管理”这一块是强绑定的。webui-vue在设计的初衷就希望bmc开发人员(不懂前端代码的开发人员)可以在webui-vue_git.bb文件中设置自己想要的模式,因此在.bb文件中留出了一个${EXTRA_OENPM}选项。

webui-vue的开发人员对这个功能更加需要了解,下载项目后直接编译必然报错,因为缺少了对.env.development.local这个文件的配置。.env.development.local专门服务于开发者模式(开发者模式一般应用与npm run serve,可以热加载,便于编译人员实时观测网页变化),其中BASE_URL的配置可以指向真机,便可以与其后端通信,进行进一步的调试开发。

 

02 参数详解

除了用于指向真机的BASE_URL参数,其他参数在开发者模式与生产模式下均实现功能共用。

Vue_APP_ENV_NAME是CUSTOM_xxx配置的核心,后续CUSTOM_xxx配置是否启用就是取决于配置文件的功能或文件名是否与Vue_APP_ENV_NAME相同。

CUSTOM_STYLES为true时,通用目录的所有样式即刻失效,取而代之的是env/style目录下的ourbmc.scss文件生效。

CUSTOM_APP_NAV为true时,通用目录的所有路由即刻失效,取而代之的是env/components/AppNavigation目录下的ourbmc.ts文件生效。

CUSTOM_ROUTER为true时,通用目录的所有路由即刻失效,取而代之的是env/router目录下的ourbmc.ts文件生效。

CUSTOM_STORE管理的配置和其他几项不同,CUSTOM_STORE为true时,通用目录的store依然生效,但是env/store目录下的ourbmc.ts文件也会生效,作为store的扩充。registerModule函数将会增加通用目录没有的,当前模式又需要的module。

VUE_APP_XXX等配置均为项目需要用的自定义配置,结合实际情况可以自行修改。

03 为什么需要这些配置文件

你可能会有疑问:OpenBMC本身不是统一的吗?为什么还需要厂商特定的配置?

硬件差异:

不同厂商的服务器,其硬件组件(如传感器类型、FRU信息、LED指示灯位置、风扇布局等)千差万别。例如,IBM的某款服务器可能有独特的电压监控点,而Intel的某款主板可能有一套自定义的风扇调速策略。

界面定制:

为了提供最佳的用户体验,WebUI需要根据硬件能力动态展示相关的监控数据和控制选项。.env.ibm文件会告诉WebUI:“如果是IBM的XX型号服务器,请显示A、B、C传感器,并隐藏D功能。” 同理,.env.ourbmc文件会指导WebUI为ourbmc平台展示特定的管理选项。

功能启用/禁用:

某些高级功能可能是特定厂商独有的。通过配置文件,可以精确控制哪些功能对最终用户可见、可操作,确保界面的简洁与安全。

04 小文件,大智慧

在开源软件的世界里,正是这些看似微小的设计,构建了强大而灵活的生态系统。OpenBMC WebUI中的.env.ibm、.env.intel等配置文件,正是这一理念的完美体现。它们如同一个个“翻译官”或“定制师”,确保了同一套开源软件能够无缝适配于全球各种复杂的服务器硬件之上。

下次当你登录OpenBMC的WebUI,流畅地查看服务器状态时,不妨想起背后这些默默工作的配置文件——它们正是让开源硬件管理如此 “丝滑” 的幕后英雄。

欢迎大家关注OurBMC社区,了解更多BMC技术干货。

OurBMC社区官方网站:

https://www.ourbmc.cn/

优秀的个人博客,低调大师

微信关注我们

转载内容版权归作者及来源网站所有!本站原创内容转载请注明来源!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。