vue 之 css module的使用方法
前言
最近學習webpack看到了一個新鮮的東西,之前都是通過scoped來區(qū)別類名,秉著任何時候?qū)W習都不晚的心情,作為小白的我也想揭揭css module的神秘面紗。
css module目的為所有類名重新生成類名,有效避開了css權(quán)重和類名重復的問題。相比于scoped為類名添加一個hash標識效果優(yōu)秀不少,但相對的書寫會繁瑣一些。
項目基于cli3搭建,講真的,我也是被cli3鬼迷心竅了。相比2的繁瑣,3提供界面管理對我這樣子的小白確實直觀很多,而且需要配置vue.config.js也十分合適呢。
開工
動手之前先配置項目,網(wǎng)上很多文章說需要下載css-loader插件,Vue中的vue-loader已經(jīng)集成了 CSS Modules,因此刪掉也能正常運行
在vue.config.js中添加如下配置
css: { loaderOptions: { css: { localIdentName: '[name]__[local]-[hash:base64:5]', camelCase: true } } }
- localIdentName是格式化類名:name是當前文件名稱,local是當前定義的類名名,hash是hash生成的字符串,長度為5
- camelCase:在類名有中橫線時,'only'在標簽上綁定類名時只支持大駝峰,true:支持大駝峰也支持中括號命名
特別注意:css module所有類名都要:class進行綁定
<div> <p class="less-color">這是通過less設(shè)置的:global字體顏色為粉色</p> <p :class="$style.lessFontSize">這是通過less設(shè)置的:local字體大小為40px</p> <p :class="$style.red">This should be red</p> <h4 :class="$style.headerTit">類別推薦</h4> <h4 :class="$style['header-tit']">類別推薦</h4> </div>
樣式表需要添加module,可以通過console.log(this.$style);輸出當前所有的:local { }類名。默認是:local { },即:local前綴是可以省略的,若要全局類名則資額在:global { }內(nèi)
<style module lang="less"> :global { .less-color { color: pink; } } :local { .less-font-size { font-size: 40px; } .red { color: red; } .header-tit { color: blue; } } </style>
效果
和配置一樣:當前文件名稱,local是當前定義的類名名,hash是hash生成的字符串,長度為5;true:支持大駝峰也支持中括號命名
<div> <p class="less-color">這是通過less設(shè)置的:global字體顏色為粉色</p> <p class="index__less-font-size-2QPBO">這是通過less設(shè)置的:local字體大小為40px</p> <p class="index__red-3YoIm">This should be red</p> <h4 class="index__header-tit-3pTz4">類別推薦</h4> <h4 class="index__header-tit-3pTz4">類別推薦</h4> </div>
后記
過程還是蠻曲折的,小白就是道阻且長啊,不過我相信積少成多,會有蛻變的一天的。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue2使用el-date-picker實現(xiàn)動態(tài)日期范圍demo
這篇文章主要為大家介紹了vue2使用el-date-picker實現(xiàn)動態(tài)日期范圍示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06elementui使用el-upload組件實現(xiàn)自定義上傳的詳細步驟
upload上傳是前端開發(fā)很常用的一個功能,在Vue開發(fā)中常用的Element組件庫也提供了非常好用的upload組件,這篇文章主要給大家介紹了關(guān)于elementui使用el-upload組件實現(xiàn)自定義上傳的詳細步驟,需要的朋友可以參考下2023-12-12vue.js綁定事件監(jiān)聽器示例【基于v-on事件綁定】
這篇文章主要介紹了vue.js綁定事件監(jiān)聽器的方法,結(jié)合實例形式分析了vue.js基于v-on事件綁定響應鼠標點擊相關(guān)操作技巧,需要的朋友可以參考下2018-07-07vue element-ui實現(xiàn)input輸入框金額數(shù)字添加千分位
這篇文章主要介紹了vue element-ui實現(xiàn)input輸入框金額數(shù)字添加千分位,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12