vue-cli3使用less全局变量,不用每个组件引入less文件(亲测有效)


问题: 在global.less文件中定义一些全局使用的less变量;

结果组件使用这些全局变量时,都要@import "~@/styles/global.less"引入该文件,否则报错

解决方法和步骤

1. 安装style-resources-loader

yarn add style-resources-loader

2. 在vue.config.js中进行配置

module.exports = {
···

	// 引入全局样式,这样使用定义的less变量时,不用每次引入global.less了
    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/styles/global.less'), // 需要全局导入的less
			],
		})
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM