vue中使用css modules替代scoped

??最開始使用Vue的時候,是提倡并大量使用的是scoped的束亏。

<span data-v-0467f817 class="errShow">用戶名不得為空</span>

??加上 scoped 屬性的style會自動添加一個唯一的屬性 铃在。比如data-v-0467f817為組件內 CSS 指定作用域,編譯的時候 .errShow會被編譯成類似 .errShow[data-v-0467f817]碍遍。

.errShow[data-v-0467f817] {
    font-size: 12px;
    color: red;
}

??這種添加唯一的屬性的方法可以滿足日常組件局部css作用域的開發(fā)需求定铜,但其設計上有一定缺陷,.errShow[data-v-0467f817]并不能保證是唯一的怕敬,另外在性能上也不是很好揣炕,瀏覽器搜索.errShow[data-v-0467f817]的速度并不如.errShow,相比于這種方式东跪,CSS modules則做的更徹底畸陡,它不是添加屬性,而是直接改變類名虽填。

<span class="_3ylglHI_7ASkYw5BlOlYIv_0">用戶名不得為空</span>

CSS Modules
  CSS Modules既不是官方標準丁恭,也不是瀏覽器的特性,而是在構建步驟中對CSS類名選擇器限定作用域的一種方式(通過hash實現(xiàn)類似于命名空間的方法)斋日。類名是動態(tài)生成的牲览,唯一的,并準確對應到源文件中的各個類的樣式恶守。

用法

  1. 在style標簽中添加module屬性第献,表示打開CSS-loader的模塊模式跛蛋。
  2. 在模板中使用動態(tài)類綁定:class,并在類名前面加上'$style.'痊硕。
  3. 如果類名包含中劃線赊级,則使用中括號語法$style['header-tit']
    也可以使用數(shù)組或對象語法。
<p :class="{ [$style.red]: isRed }">
      Am I red?
</p>
<p :class="[$style.red, $style.bold]">
      Red and bold
</p>
<template>
  <div :class="$style.bg">
    <van-cell title="進度條" is-link to="/rx-progress-demo" />
    <van-cell title="地址選擇" is-link to="/rx-address-picker-demo" />
    <van-cell title="滑動日歷" is-link to="/rx-touch-calendar-demo" />
    <van-cell title="批量調取瑞信頭像" is-link to="/rx-getPhoto-list-demo"/>
  </div>
</template>

<script>
export default {
  name: 'demo'
}
</script>

<style module>
.bg {
  width: 100px;
  height: 100px;
  background-color: red;
}
</style>

配置
  如果你的項目是用vue-cli搭建的岔绸,那么腳手架已經(jīng)為你配置好了理逊,直接可以使用,如果你是用webpack自己搭建的項目或想要修改默認配置盒揉,則進行下面配置晋被。

css-loader關于CSS modules的默認配置如下:

{
  modules: true,
  importLoaders: 1,
  localIdentName: '[hash:base64]'
}

可以使用vue-loader的css Modules選項為css-loader進行自定義的配置

module: {
  rules: [
    {
      test: '\.vue$',
      loader: 'vue-loader',
      options: {
        cssModules: {
          localIdentName: '[path][name]---[local]---[hash:base64:5]',
          camelCase: true
        }
      }
    }
  ]
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市刚盈,隨后出現(xiàn)的幾起案子羡洛,更是在濱河造成了極大的恐慌,老刑警劉巖藕漱,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欲侮,死亡現(xiàn)場離奇詭異,居然都是意外死亡肋联,警方通過查閱死者的電腦和手機威蕉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來橄仍,“玉大人韧涨,你說我怎么就攤上這事∥攴保” “怎么了虑粥?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宪哩。 經(jīng)常有香客問我娩贷,道長,這世上最難降的妖魔是什么斋射? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任育勺,我火速辦了婚禮但荤,結果婚禮上罗岖,老公的妹妹穿的比我還像新娘。我一直安慰自己腹躁,他們只是感情好桑包,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纺非,像睡著了一般哑了。 火紅的嫁衣襯著肌膚如雪赘方。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天弱左,我揣著相機與錄音窄陡,去河邊找鬼。 笑死拆火,一個胖子當著我的面吹牛跳夭,可吹牛的內容都是我干的。 我是一名探鬼主播们镜,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼币叹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了模狭?” 一聲冷哼從身側響起颈抚,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嚼鹉,沒想到半個月后贩汉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡锚赤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年雾鬼,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宴树。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡策菜,死狀恐怖,靈堂內的尸體忽然破棺而出酒贬,到底是詐尸還是另有隱情又憨,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布锭吨,位于F島的核電站蠢莺,受9級特大地震影響,放射性物質發(fā)生泄漏零如。R本人自食惡果不足惜躏将,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望考蕾。 院中可真熱鬧祸憋,春花似錦、人聲如沸肖卧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拦赠,卻和暖如春巍沙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荷鼠。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工句携, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人允乐。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓务甥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親喳篇。 傳聞我的和親對象是個殘疾皇子敞临,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內容

  • 版權聲明:本文為博主原創(chuàng)文章炊邦,未經(jīng)博主允許不得轉載编矾。 webpack介紹和使用 一、webpack介紹 1馁害、由來 ...
    it筱竹閱讀 11,070評論 0 21
  • 33窄俏、JS中的本地存儲 把一些信息存儲在當前瀏覽器指定域下的某一個地方(存儲到物理硬盤中)1、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,079評論 0 2
  • ## 框架和庫的區(qū)別?> 框架(framework):一套完整的軟件設計架構和**解決方案**碘菜。> > 庫(lib...
    Rui_bdad閱讀 2,899評論 1 4
  • 第一章 Vue概述 what? Vue是實現(xiàn)UI層的漸進式js框架凹蜈,核心庫關注視圖層,簡單的ui構建忍啸,復雜的路由控...
    fastwe閱讀 711評論 0 0
  • 基本格式 以json的形式仰坦、將數(shù)據(jù)(支持所有格式)掛載在vue的data上、方法掛載在vue的methods上计雌。 ...
    kirito_song閱讀 754評論 0 21