国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作

瀏覽:112日期:2022-11-15 14:50:47

當(dāng)你想要在vue項目的一個組件中使用全局樣式文件中定義好的變量,此時只在main.js中import是不行的。

目錄結(jié)構(gòu)如下:

Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作

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

Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作

Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作

此時,只用import在main.js中導(dǎo)入variables.less文件是會報錯的。

解決辦法:

1、安裝less和less-loader

npm i less less-loader -D

2、要想全局使用還需使用一個插件( sass-resources-loader ),沒有寫錯,就是sass

npm i sass-resources-loader -D

3、安裝完sass-resources-loader后,配置webpack,找到build/utils.js文件,在cssLoaders函數(shù)中添加使用全局less函數(shù)

Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作

// 增加全局使用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’)這個函數(shù)。

return { css: generateLoaders(), postcss: generateLoaders(), less: lessResourceLoader(’less’), sass: generateLoaders(’sass’, { indentedSyntax: true }), scss: generateLoaders(’sass’), stylus: generateLoaders(’stylus’), styl: generateLoaders(’stylus’) }

Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作

4、完成之后就可以重新運行項目了

npm run dev

補(bǔ)充知識:Vue less使用scope時滲入修改子組件樣式

我就廢話不多說了,大家還是直接看代碼吧~

@aaa: ~’>>>’;.wrap { @{aaa} .component1 { width: 120px; }/deep/ .component2 { width: 130px;}}

以上這篇Vue全局使用less樣式,組件使用全局樣式文件中定義的變量操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
主站蜘蛛池模板: 巴马| 东乌| 界首市| 铁岭县| 阿克陶县| 长沙市| 新兴县| 平谷区| 长丰县| 陕西省| 寿光市| 横峰县| 南雄市| 新巴尔虎右旗| 乌审旗| 丁青县| 临漳县| 瑞丽市| 乐至县| 浮山县| 福泉市| 寿光市| 吉安县| 张家界市| 彭水| 宜黄县| 西藏| 高安市| 尤溪县| 安顺市| 沙坪坝区| 惠东县| 会昌县| 大渡口区| 临高县| 武威市| 阳高县| 瑞金市| 东至县| 定日县| 新津县|