借助sass-resources-loader实现less,scss变量全局注册

sass与less是两个css预编译器,借助scss-loader和less-loader将.scss文件和.less文件编译为浏览器认识的css;两者的使用类似,scss声明变量使用$,less声明变量使用@,两者的编译环境不一样,scss是在服务端编译,也就是不用浏览器花时间去编译,less就是前端(浏览器),但个人感觉这并没有为scss带来多大优势;网上也常用人说都什么年代了,还用less,个人就觉得less与scss都差不多,用什么只看个人习惯了,不必跟风!下面就来说一下注册全局变量之后怎么才能在不引入的情况下访问全局变量!

首先这一实现需要借助一个加载器 ==》 sass-resources-loader;

npm i sass-resources-loader -S

然后就需要在vue.config.js文件中写入相应的配置:

module.exports = {
    // 其他配置
    css: {
        loaderOptions: {
            sass: {
                prependData: `
                @import "@/assets/styles/vars.scss";
                @import "@/assets/styles/mixins.scss";
                @import "@/assets/styles/functions.scss";
                `
            }
        }
    },
    chainWebpack: config => {
        const oneOfsMap = config.module.rule('scss').oneOfs.store
        oneOfsMap.forEach(item => {
            item
                .use('sass-resources-loader')
                .loader('sass-resources-loader')
                .options({
                    // 引入一个全局sass文件
                    resources: './src/assets/styles/vars.scss',

                    // 引入多个全局sass文件
                    resources['./src/assets/styles/vars.scss','./src/assets/styles/mixins.scss','./src/assets/styles/functions.scss']
                })
                .end()
        })
    },

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值