怎么在Vue項目中引入sass并配置全局變量

本篇文章為大家展示了怎么在Vue項目中引入sass并配置全局變量,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)延津免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

Vue的優(yōu)點

Vue具體輕量級框架、簡單易學(xué)、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結(jié)構(gòu)的分離、虛擬DOM、運行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉(zhuǎn)頁面都要請求所有數(shù)據(jù)和dom,可以大大提升訪問速度和用戶體驗。

引入sass

等安裝完所有依賴后,安裝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>

最后需要重新編譯一下項目,否則沒有效果。

$ npm run dev

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

配置sass全局變量

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

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

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

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

// 全局文件引入 當(dāng)然只想編譯一個文件的話可以省去這個函數(shù)
function resolveResource(name) {
 return path.resolve(__dirname, '../src/style/' + name);
}
function generateSassResourceLoader() {
 var loaders = [
  cssLoader,
  'sass-loader',
  {
   loader: 'sass-resources-loader',
   options: {
    // 多個文件時用數(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里的變量是@開頭。比如我想定義一個項目的主色調(diào)變量,我可以在theme.scss里這樣定義:

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

引用變量的時候直接引用變量名即可。

上述內(nèi)容就是怎么在Vue項目中引入sass并配置全局變量,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站欄目:怎么在Vue項目中引入sass并配置全局變量
文章出自:http://bm7419.com/article20/iiphco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、網(wǎng)站營銷、App開發(fā)、網(wǎng)站導(dǎo)航、Google、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)