十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
一般而言一個組件庫都會設(shè)計一套相對來說符合大眾審美或產(chǎn)品需求的主題,但是主題定制需求永遠都存在,所以組件庫一般都會允許使用者自定義主題,我司的vue組件庫hui的定制主題簡單來說是通過修改預定義的scss變量的值來做到的,新體系下還做到了動態(tài)換膚,因為皮膚本質(zhì)上是一種靜態(tài)資源(CSS文件和字體文件),所以只需要約定一種方式來每次動態(tài)請求加載不同的文件就可以了,為了方便這一需求,還配套開發(fā)了一個Vessel腳手架的插件,只需要以配置文件的方式列出你需要修改的變量和值,一個命令就可以幫你生成對應的皮膚。

但是目前的換膚還存在幾個問題, 一是不直觀,無法方便實時的看到修改后的組件效果,二是建議修改的變量比較少,這很大原因也是因為問題一,因為不直觀所以盲目修改后的效果可能達不到預期。
針對這幾個問題,所以實現(xiàn)一個在線主題編輯器是一個有意義的事情,目前最流行的組件庫之一的Element就支持主題在線編輯,地址:element.eleme.cn/#/zh-CN/the… ,本項目是在參考了Element的設(shè)計思想和界面效果后開發(fā)完成的,本文將開發(fā)思路分享出來,如果有一些不合理地方或有一些更好的實現(xiàn)方式,歡迎指出來一起討論。
實現(xiàn)思路
主題在線編輯的核心其實就是以一種可視化的方式來修改主題對應scss變量的值。
項目總體分為前端和后端兩個部分,前端主要負責管理主題列表、編輯主題和預覽主題,后端主要負責返回變量列表和編譯主題。
后端返回主題可修改的變量信息,前端生成對應的控件,用戶可進行修改,修改后立即將修改的變量和修改后的值發(fā)送給后端,后端進行合并編譯,生成css返回給前端,前端動態(tài)替換style標簽的內(nèi)容達到實時預覽的效果。
主題列表頁面
主題列表頁面的主要功能是顯示官方主題列表和顯示自定義主題列表。
官方主題可進行的操作有預覽和復制,不能修改,修改的話會自動生成新主題。自定義主題可以編輯和下載,及進行修改名稱、復制、刪除操作。
官方主題列表后端返回,數(shù)據(jù)結(jié)構(gòu)如下:
{
name: '官方主題-1', // 主題名稱
by: 'by hui', // 來源
description: '默認主題', // 描述
theme: {
// 主題改動點列表
common: {
'$--color-brand': '#e72528'
}
}
}另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。