Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作
當(dāng)你想要在vue項(xiàng)目的一個(gè)組件中使用全局樣式文件中定義好的變量,此時(shí)只在main.js中import是不行的。
目錄結(jié)構(gòu)如下:

即在MHeader.vue中想要使用src下的less下的variables.less文件中定義好的變量。


此時(shí),只用import在main.js中導(dǎo)入variables.less文件是會(huì)報(bào)錯(cuò)的。
解決辦法:
1、安裝less和less-loader
npm i less less-loader -D
2、要想全局使用還需使用一個(gè)插件( sass-resources-loader ),沒有寫錯(cuò),就是sass
npm i sass-resources-loader -D
3、安裝完sass-resources-loader后,配置webpack,找到build/utils.js文件,在cssLoaders函數(shù)中添加使用全局less函數(shù)

// 增加全局使用less函數(shù)
function lessResourceLoader() {
var loaders = [
cssLoader,
'less-loader',
{
loader: 'sass-resources-loader',
options: {
resources: [
path.resolve(__dirname, '../src/assets/less/variables.less'), //定義全局變量的文件路徑
]
}
}
];
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
并在return中用你定義的lessResourceLoader函數(shù)替換less: generateLoaders('less')這個(gè)函數(shù)。
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: lessResourceLoader('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}

4、完成之后就可以重新運(yùn)行項(xiàng)目了
npm run dev
補(bǔ)充知識(shí):Vue less使用scope時(shí)滲入修改子組件樣式
我就廢話不多說了,大家還是直接看代碼吧~
@aaa: ~'>>>';
.wrap {
@{aaa} .component1 {
width: 120px;
}
/deep/ .component2 {
width: 130px;
}
}
以上這篇Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue組件實(shí)現(xiàn)數(shù)字滾動(dòng)抽獎(jiǎng)效果
這篇文章主要為大家詳細(xì)介紹了Vue組件實(shí)現(xiàn)數(shù)字滾動(dòng)抽獎(jiǎng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
element-ui+vue-treeselect下拉框的校驗(yàn)過程
這篇文章主要介紹了element-ui+vue-treeselect下拉框的校驗(yàn)過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
如何封裝了一個(gè)vue移動(dòng)端下拉加載下一頁數(shù)據(jù)的組件
這篇文章主要介紹了如何封裝了一個(gè)vue移動(dòng)端下拉加載下一頁數(shù)據(jù)的組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
npm install -g @vue/cli安裝vue腳手架報(bào)錯(cuò)問題(一般都能解決)
這篇文章主要介紹了npm install -g @vue/cli安裝vue腳手架報(bào)錯(cuò)問題(一般都能解決),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vue實(shí)現(xiàn)多級(jí)側(cè)邊欄的封裝
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)多級(jí)側(cè)邊欄的封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
Vue首頁界面加載優(yōu)化實(shí)現(xiàn)方法詳解
如果你也遇到在 vue 應(yīng)用中,首頁加載資源過多,導(dǎo)致加載緩慢的問題,下面的方法也許能幫到你,主要的處理思想是:讓首頁多余的資源能在需要它的時(shí)候再加載2022-09-09

