vue+vant自定義主題

最近項目用到了vue和vant踪栋,以及自定義vant主題,記錄主要步驟點(diǎn)如下:
1、首先需要全局安裝vue-cli:

npm install -g @vue/cli

2复唤、創(chuàng)建vue項目

vue create my-app

你會被提示選取一個 preset。你可以選默認(rèn)的包含了基本的 Babel + ESLint 設(shè)置的 preset烛卧,也可以選“手動選擇特性”來選取需要的特性佛纫。這里選擇手動。

? Please pick a preset:
  default (babel, eslint)
> Manually select features

回車后選擇以下配置:

? Check the features needed for your project:
 (*) Babel
 ( ) TypeScript
 ( ) Progressive Web App (PWA) Support
 (*) Router
 (*) Vuex
>(*) CSS Pre-processors
 (*) Linter / Formatter
 ( ) Unit Testing
 ( ) E2E Testing

這里的CSS pre-processor 選擇 Less总放。

? Check the features needed for your project: Babel, Router, Vuex, CSS Pre-processors, Linter
? Use history mode for router? (Requires proper server setup for index fallback in production) No
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): Less
? Pick a linter / formatter config: Standard
? Pick additional lint features: Lint on save
? Where do you prefer placing config for Babel, ESLint, etc.? In dedicated config files
? Save this as a preset for future projects? No

稍等一會呈宇,項目就創(chuàng)建完畢啦。
進(jìn)入項目目錄:

cd my-app

運(yùn)行項目:

npm run serve

打開瀏覽器看到如下界面局雄,vue項目到此就創(chuàng)建成功啦甥啄。


image.png

3、安裝Vant

npm i vant -S

package.json中看到vant炬搭,就安裝完成了蜈漓。


image.png

4穆桂、引入Vant
這里選擇自動按需引入組件
安裝babel插件

npm i babel-plugin-import -D

在babel.config.js 中配置:

module.exports = {
  presets: ['@vue/cli-plugin-babel/preset'],
  plugins: [
    [
      'import',
      {
        libraryName: 'vant',
        libraryDirectory: 'es',
        // 指定樣式路徑
        style: (name) => `${name}/style/less`
      },
      'vant'
    ]
  ]
}

在main.js中按需引入,如下:

import { Button, Col, Row } from 'vant'
Vue.use(Button)
  .use(Col)
  .use(Row)

5融虽、自定義Vant主題
src下新建style目錄充尉,新建myvant.less文件用于自定義vant主題樣式。


image.png

可以根據(jù)需要修改vant基礎(chǔ)樣式變量衣形,以適應(yīng)項目需求驼侠,這里我改了@red,@blue等顏色谆吴。


image.png

也可以修改某個組件的樣式變量倒源。


image.png

vue.config.js中配置:
*myvant.less就是自定義主題的less文件。引入less文件句狼,以下兩種方式都可以笋熬。
方式一:

const path = require('path')
module.exports = {
  css: {
    loaderOptions: {
      less: {
        // 若 less-loader 版本小于 6.0,請移除 lessOptions 這一級腻菇,直接配置選項胳螟。
        modifyVars: {
          // 或者可以通過 less 文件覆蓋(文件路徑為絕對路徑)
          hack: `true; @import "${path.join(
            __dirname,
            './src/style/myvant.less'
          )}";`
        }
      }
    }
  }
}

方式二:

module.exports = {
  css: {
    loaderOptions: {
      less: {
        // 若 less-loader 版本小于 6.0,請移除 lessOptions 這一級筹吐,直接配置選項糖耸。
        modifyVars: {
          // 或者可以通過 less 文件覆蓋(文件路徑為絕對路徑)
          hack: 'true; @import "~@/style/myvant.less"'
        }
      }
    }
  }
}

6、查看效果
app.vue中引用組件

<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link>
    </div>
    <van-row gutter="20">
      <van-col span="8">
        <van-button type="primary">主要按鈕</van-button>
      </van-col>
    </van-row>

    <!-- <router-view/> -->
  </div>
</template>

可以看到button的背景色丘薛,border-radius已經(jīng)是myvant.less中定義的@green: #33f892;和@button-border-radius: 8px;
接下來就可以按項目需要自由發(fā)揮啦嘉竟。

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市洋侨,隨后出現(xiàn)的幾起案子舍扰,更是在濱河造成了極大的恐慌,老刑警劉巖希坚,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件边苹,死亡現(xiàn)場離奇詭異,居然都是意外死亡裁僧,警方通過查閱死者的電腦和手機(jī)个束,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锅知,“玉大人播急,你說我怎么就攤上這事脓钾∈鄱茫” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵可训,是天一觀的道長昌妹。 經(jīng)常有香客問我捶枢,道長,這世上最難降的妖魔是什么飞崖? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任烂叔,我火速辦了婚禮,結(jié)果婚禮上固歪,老公的妹妹穿的比我還像新娘蒜鸡。我一直安慰自己,他們只是感情好牢裳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布逢防。 她就那樣靜靜地躺著,像睡著了一般蒲讯。 火紅的嫁衣襯著肌膚如雪忘朝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天判帮,我揣著相機(jī)與錄音局嘁,去河邊找鬼。 笑死晦墙,一個胖子當(dāng)著我的面吹牛悦昵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晌畅,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼旱捧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了踩麦?” 一聲冷哼從身側(cè)響起枚赡,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谓谦,沒想到半個月后贫橙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡反粥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年卢肃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片才顿。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡莫湘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出郑气,到底是詐尸還是另有隱情幅垮,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布尾组,位于F島的核電站忙芒,受9級特大地震影響示弓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜呵萨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一奏属、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧潮峦,春花似錦囱皿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至德谅,卻和暖如春爹橱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窄做。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工愧驱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人椭盏。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓组砚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掏颊。 傳聞我的和親對象是個殘疾皇子糟红,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

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