目录结构如下:
需求:
在Navgation.vue中使用global.less中的变量
vue-cli3的配置方法如下:传送门
vue-cli4的配置方法如下:
安装 style-resources-loader
npm i style-resources-loader -D
在 vue.config.js 中加上如下配置,没有则创建该文件,文件名不能改,如下:
// vue.config.js const path = require('path') module.exports = { lintOnSave: false, chainWebpack: config => { const types = ['vue-modules', 'vue', 'normal-modules', 'normal'] types.forEach(type => addStyleResource(config.module.rule('less这里写你的样样式类型').oneOf(type))) }, } function addStyleResource (rule) { rule.use('style-resource') .loader('style-resources-loader') .options({ patterns: [ path.resolve(__dirname, './src/assets/css/global.less这里写你的全局样式地址'), ], }) }
补充知识:vue项目中配置LESS全局变量注入
在日常项目中,很多人都用到了css预处理器 ,如sass,less, stylus,处理样式非常方便,尤其是嵌套,变量,函数等,让我们书写css非常nice,在项目中一般会建立一个样式文件夹(此处用less),存放公共样式和公共变量如项目主体色,字体大小等等的变量,但是在项目中使用这些变量的时候通常都要在style标签内用@import '***/***/***/***.less';这样的方式来导入公共变量,页面一多,每个页面一般都需要引入就会感到很繁琐,所以此处就用到webpack的一些配置来达到全局注入,单个文件不需要单独引入的目的。
此处说下自己用的之前的脚手架版本的配置
在build文件夹下的webpack.base.conf.js文件中修改,主要借助了sass-resources-loader。
配置的时候还需要在问价头部引入path,const path = require('path')
然后在module模块下进行配置
module: { resolve: { extensions: ['.ts', '.js', '.vue', '.json'], // 顺带说下 此处可以配置路径别名,以后引入文件就不需要../../../这样了,直接@/就可以了,代表src下的路径,当然可设置多个,可自行配制 alias: { '@': utils.resolve('src') } }, /// rules: [ ...(config.dev.useEslint "htmlcode">const path = require("path"); function resolve(dir) { return path.join(__dirname, dir); } module.exports = { publicPath: "./", outputDir: "dist", assetsDir: "assets", indexPath: "index.html", filenameHashing: true, pages: undefined, lintOnSave: true, runtimeCompiler: false, transpileDependencies: [], productionSourceMap: false, crossorigin: undefined, integrity: false, devServer: { proxy: { "/api": { target: "************", changeOrigin: true, pathRewrite: { "^/api": "" } } } }, // ------------------此处开始,以下是全局变量注入的配置-------------- chainWebpack: config => { config.resolve.alias.set("@assets", resolve("src/assets")) // 这里只写了两个个,你可以自己再加,按这种格式.set("", resolve("")) const types = ["vue-modules", "vue", "normal-modules", "normal"] types.forEach(type => addStyleResource(config.module.rule("less").oneOf(type)) ); }, css: { loaderOptions: { less: { javascriptEnabled: true } } } }; function addStyleResource(rule) { rule .use("style-resource") .loader("style-resources-loader") .options({ patterns: [ path.resolve(__dirname, "src/styles/index.less") // 需要全局导入的less ] }) }大家一起加油! 如有不对之处,请大家不吝赐教。
之后看到另一个后台管理系统的配置,发现另一种配法 (cli3)
安装less less-loader style-resources-loader
npm install -D less-loader less npm i style-resources-loader npm i vue-cli-plugin-style-resources-loader安装完后,在vue.config.js中配置
const path = require('path'); module.exports = { pluginOptions: { 'style-resources-loader': { preProcessor: 'less', patterns: [ // 这个是加上自己的路径,不能使用(如下:alias)中配置的别名路径 path.resolve(__dirname, './src/style/params.less') ] } }, …… 其他配置 …… }安装的时候也可以方法二:直接使用vue add style-resources-loader安装,vue add pluginName 是vue-cli3提供的。
vue add 是用yarn安装插件的, yarn源的问题有可能导致失败。
如果安装失败的话,就上面分别安装的方法来
以上这篇vue-cli4使用全局less文件中的变量配置操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 宝丽金50周年《古典篇》3CD限定盘[低速原抓WAV+CUE][1.8G]
- 群星.1986-新格名曲精选-歌3【新格】【WAV+CUE】
- 【ABC唱片】徐刚《独步外滩SACD》ISO+WAV分轨
- 刘月宁《扬琴独奏-木兰辞变奏曲》[FLAC+CUE]
- 陈奕迅《48首选》[WAV分轨][1.8G]
- 林忆莲《陪着我走》 SACD DSD64[DSF][1.1G]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 刘欢范琳琳.1988-信天游迪斯科(TP版)【内蒙古音像】【WAV+CUE】
- 群星-真声音真音乐[WAV+CUE]
- 群星-《茶缘》(TeaPredestinedRelationship)[FLAC]
- RCA白头佬美国头版-斯托科夫斯基[狂想曲][WAV+CUE]
- 【ABC唱片】《春花秋月SACD-062》-WAV分轨
- [ABC唱片]-《俄罗斯三角琴》[K2-064][K2CD]WAV+CUE
- 群星《2007香港高级视听展原音精选SACD》[ISO][2.9G]
- 群星《华纳至尊金曲》2CD[FLAC][865M]