首先, 提取公用樣式。
這一步要做的內容就是,將Vue 各組件中的Element 樣式提取到一個文件,使各組件的樣式統一標准,這一步應該不難。
其次,css變量的聲明提取。
為了能一鍵換膚,有種簡單的方法是准備多套樣式文件,然后根據變量或者環境導入不同的主題,但其實還可以優化,就是在css中聲明變量,類似的文件結構大概是element.css 存放css 樣式, 然后由不同的主題文件去聲明變量對應的值。
舉個例子
element.css 中 background: var(--back-ground);
dark.css(js)中 --back-ground: #000000;
light.css(js)中 --back-ground: #ffffff;
最后,根據不同的變量在main.js 中引入element.css 與對應的主題文件即可。
可能會出現的問題:
1. import 無效問題
試試用require 或者import()
2.打包后生產環境無效問題
build文件夾下 的webpack.prod.conf.js 中extract 改為true 即可