vue-cli構(gòu)建項(xiàng)目使用 less的方法
在vue-cli中構(gòu)建的項(xiàng)目是可以使用less的,但是查看package.json可以發(fā)現(xiàn),并沒(méi)有l(wèi)ess相關(guān)的插件,所以我們需要自行安裝。
第一步:安裝
npm install less less-loader --save-dev
即通過(guò)npm安裝less和less-loader,并記錄到devDependencies中,因?yàn)檫@是我們?cè)陂_發(fā)中使用的而非在生產(chǎn)中使用,所以就不將之記錄在 dependencies 中。
第二步:在配置文件中配置
實(shí)際上如果我們通過(guò)vue-cli來(lái)構(gòu)建項(xiàng)目,這一步是可以省略的。
在webpack.dev.conf.js中,我們可以看到下面的代碼:
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap })
},
即webpack.dev.conf.js在合并了webpack.base.conf.js的基礎(chǔ)上又添加了dev環(huán)境下的module。
注意:在上面的代碼中,我們還可以使用loaders來(lái)代替rules, 他們的含義是一樣的。
在build文件夾下有一個(gè)utils.js文件,這個(gè)文件提供了一些通用的方法,供webpack.dev.conf.js和webpack.prod.conf.js使用。 其中styleLoaders方法如下:
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
var output = []
var loaders = exports.cssLoaders(options)
for (var extension in loaders) {
var loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
通過(guò)這個(gè)方法可以對(duì)大多數(shù)css預(yù)處理進(jìn)行了配置,具體配置在cssLoaders方法中。
第三步:在單組件.vue中使用
如下所示:
<template>
<div class="hello">
<h2>{{msg}}</h2>
<h2>Essential Links</h2>
<ul>
<li>Core Docs</li>
</ul>
<h2>Ecosystem</h2>
</div>
</template>
<script>
export default {
name: 'hello',
data: function () {
return {
msg: "Welcome to your vue.js app"
}
}
}
</script>
<style scoped lang="less">
.hello {
color: red;
font-size: 0.45rem;
h2 {
color: blue;
}
}
</style>
需要注意一下幾點(diǎn):
1.已經(jīng)在webpack中配置了,所以這里不需要引入任何less文件。
2.在style中聲明lang="less"。 注意: scoped的作用僅僅是限定css的作用域,防止變量污染。
3.這樣就可以根據(jù)less的語(yǔ)法使用了。
補(bǔ)充:通過(guò)下面的代碼就不難理解問(wèn)什么scoped可以隔離作用域了。 即給不同組件的所有html添加一個(gè)屬性,然后在css中使用屬性選擇器來(lái)防止作用域的污染,實(shí)在聰明?。。?br />

把scoped去掉之后,我們就可以發(fā)現(xiàn)已經(jīng)沒(méi)有額外的屬性了:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue項(xiàng)目創(chuàng)建步驟及路由router
本文主要給大家分享了vue項(xiàng)目的創(chuàng)建步驟以及vue路由router的相關(guān)知識(shí)點(diǎn),非常的實(shí)用,有需要的小伙伴可以來(lái)參考下2020-01-01
vue實(shí)現(xiàn)多個(gè)el-form表單提交統(tǒng)一校驗(yàn)的2個(gè)方法
這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)多個(gè)el-form表單提交統(tǒng)一校驗(yàn)的2個(gè)方法,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用vue具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
詳解vue中點(diǎn)擊空白處隱藏div的實(shí)現(xiàn)(用指令實(shí)現(xiàn))
本篇文章主要介紹了詳解vue中點(diǎn)擊空白處隱藏div的實(shí)現(xiàn)(用指令實(shí)現(xiàn)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
vue實(shí)例成員?插值表達(dá)式?過(guò)濾器基礎(chǔ)教程示例詳解
這篇文章主要為大家介紹了vue實(shí)例成員?插值表達(dá)式?過(guò)濾器基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04

