Vue引入sass并配置全局變量

Vue引入sass并配置全局變量

引入sass

首先使用官方提供的腳手架vue-cli進(jìn)行搭建框架,這里就不做說明了滨巴,查閱官網(wǎng)即可优烧。

等安裝完所有依賴后沛豌,安裝sass的依賴包:

npm install --save-dev sass-loader
//sass-loader依賴于node-sass
npm install --save-dev node-sass

然后在build文件夾下的webpack.base.conf.js的rules里面添加配置:

{
  test: /\.sass$/,
  loaders: ['style', 'css', 'sass']
}

然后添加csslang屬性夭咬。注意啃炸,這里是scss,而且css文件的后綴也是scss:

<style lang="scss"></style>

最后需要重新編譯一下項(xiàng)目卓舵,否則沒有效果南用。

$ npm run dev

現(xiàn)在就可以隨意的使用sass了,這時(shí)候會(huì)發(fā)現(xiàn)如果我想定義幾個(gè)變量進(jìn)行全局使用掏湾,好像只能在頁面中通過@import來引入裹虫,這顯然不夠優(yōu)雅,可以這樣解決融击。

配置sass全局變量

有一個(gè)babel插件可以完美的解決這個(gè)問題:sass-resources-loader可以訪問sass資源任何一個(gè)需要訪問的sass模塊恒界。所以,可以使用共享變量和混合所有SASS樣式砚嘴,而不去每個(gè)文件都引用十酣。

首先進(jìn)行插件安裝:

npm install --save-dev sass-resources-loader

然后在 build 文件夾下找到 util.js 修改sass編譯器loader的配置,直接把下面的代碼復(fù)制進(jìn)去即可:

// 全局文件引入 當(dāng)然只想編譯一個(gè)文件的話可以省去這個(gè)函數(shù)
function resolveResource(name) {
  return path.resolve(__dirname, '../src/style/' + name);
}
function generateSassResourceLoader() {
  var loaders = [
    cssLoader,
    'sass-loader',
    {
      loader: 'sass-resources-loader',
      options: {
        // 多個(gè)文件時(shí)用數(shù)組的形式傳入际长,單個(gè)文件時(shí)可以直接使用 path.resolve(__dirname, '../static/style/common.scss'
        resources: [resolveResource('theme.scss')]  
      }
    }
    ];
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
  }

將默認(rèn)的sass配置改為 generateSassResourceLoader()耸采。

return {
    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders('less'),
    // vue-cli默認(rèn)sass配置
    // sass: generateLoaders('sass', { indentedSyntax: true }), 
    // scss: generateLoaders('sass'),
    // 新引入的sass-resources-loader
    sass: generateSassResourceLoader(),
    scss: generateSassResourceLoader(),
    stylus: generateLoaders('stylus'),
    styl: generateLoaders('stylus')
  }

改完配置后重啟服務(wù)就可以在theme.scss里定義全局變量并在頁面中引用了。

需要注意的是工育,scss里的變量是$開頭虾宇,而less里的變量是@開頭。比如我想定義一個(gè)項(xiàng)目的主色調(diào)變量如绸,我可以在theme.scss里這樣定義:

$c-primary: #fd7a00;
$theme-blue: #3296fa;
$theme-red: #da3838;

引用變量的時(shí)候直接引用變量名即可嘱朽。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市怔接,隨后出現(xiàn)的幾起案子搪泳,更是在濱河造成了極大的恐慌,老刑警劉巖扼脐,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岸军,死亡現(xiàn)場離奇詭異,居然都是意外死亡瓦侮,警方通過查閱死者的電腦和手機(jī)艰赞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肚吏,“玉大人方妖,你說我怎么就攤上這事》E剩” “怎么了党觅?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵雌澄,是天一觀的道長。 經(jīng)常有香客問我仔役,道長,這世上最難降的妖魔是什么是己? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任又兵,我火速辦了婚禮,結(jié)果婚禮上卒废,老公的妹妹穿的比我還像新娘沛厨。我一直安慰自己,他們只是感情好摔认,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布逆皮。 她就那樣靜靜地躺著,像睡著了一般参袱。 火紅的嫁衣襯著肌膚如雪电谣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天抹蚀,我揣著相機(jī)與錄音剿牺,去河邊找鬼。 笑死环壤,一個(gè)胖子當(dāng)著我的面吹牛晒来,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播郑现,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼湃崩,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了接箫?” 一聲冷哼從身側(cè)響起攒读,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辛友,沒想到半個(gè)月后整陌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瞎领,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年泌辫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片九默。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡震放,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出驼修,到底是詐尸還是另有隱情殿遂,我是刑警寧澤诈铛,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站墨礁,受9級(jí)特大地震影響幢竹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恩静,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一焕毫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧驶乾,春花似錦邑飒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至风科,卻和暖如春撒轮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贼穆。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國打工腔召, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扮惦。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓臀蛛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親崖蜜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浊仆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 版權(quán)聲明:本文為博主原創(chuàng)文章等恐,未經(jīng)博主允許不得轉(zhuǎn)載洲劣。 webpack介紹和使用 一、webpack介紹 1课蔬、由來 ...
    it筱竹閱讀 11,128評(píng)論 0 21
  • 1 Webpack 1.1 概念簡介 1.1.1 WebPack是什么 1囱稽、一個(gè)打包工具 2、一個(gè)模塊加載工具 3...
    Kevin_Junbaozi閱讀 6,665評(píng)論 0 16
  • 一二跋、webpack的基本概念 webpack 本質(zhì)上是一個(gè)打包工具战惊,它會(huì)根據(jù)代碼的內(nèi)容解析模塊依賴,幫助我們把多個(gè)...
    cilla123閱讀 1,539評(píng)論 0 8
  • 在現(xiàn)在的前端開發(fā)中扎即,前后端分離吞获、模塊化開發(fā)况凉、版本控制、文件合并與壓縮各拷、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,440評(píng)論 1 32
  • 我的語文書里有一首詩叫《憫農(nóng)》刁绒,這首詩原文是:鋤禾日當(dāng)午,汗滴禾下土烤黍,誰知盤中餐知市,粒粒皆辛苦。這首詩的意...
    張軒赫閱讀 157評(píng)論 0 3