久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

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

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

目錄結構如下:

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

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

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

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

此時,只用import在main.js中導入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函數中添加使用全局less函數

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

// 增加全局使用less函數 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函數替換less: generateLoaders(’less’)這個函數。

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

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

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

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

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

標簽: Vue
主站蜘蛛池模板: 正镶白旗| 沁源县| 孟村| 萨嘎县| 宕昌县| 景德镇市| 陵川县| 和龙市| 白玉县| 乌拉特中旗| 白城市| 蓬莱市| 云梦县| 咸丰县| 蛟河市| 仁寿县| 沽源县| 屏南县| 古浪县| 姜堰市| 南投市| 鄢陵县| 华池县| 崇明县| 徐州市| 阳西县| 恭城| 衡南县| 双辽市| 永靖县| 沛县| 泰宁县| 易门县| 华蓥市| 五莲县| 舞阳县| 博爱县| 青神县| 龙里县| 青川县| 平武县|