vue项目中scss、less、stylus预编译语言全局变量注入

在项目中,我们常会用到css预处理器 ,如sass,less, stylus,书写css变得非常便捷;项目中一般会建立公共样式文件,存放公共样式、公共变量、项目主题、基础样式混合方法,但是在项目中使用这些变量的时候通常都要在每个页面style标签内用@import引入,繁琐,所以需要使用webpack的相关配置全局注入公共文件sass 全局变量注入为了使用sass,我们需要安装sass的依赖包npm install --save-dev sass-loadernpm install --save.
摘要由CSDN通过智能技术生成

在项目中,我们常会用到css预处理器 ,如sass,less, stylus,书写css变得非常便捷;项目中一般会建立公共样式文件,存放公共样式、公共变量、项目主题、基础样式混合方法,但是在项目中使用这些变量的时候通常都要在每个页面style标签内用@import引入,繁琐,所以需要使用webpack的相关配置全局注入公共文件

sass 全局变量注入

为了使用sass,我们需要安装sass的依赖包

npm install --save-dev sass-loader
npm install --save-dev node-sass  //sass-loader依赖于node-sass

1、使用sass-resources-loader工具引入

  • 添加依赖
npm install sass-resources-loader --save-dev
  • 在项目build文件夹里找到utils.js ,定位到下边代码
return {
    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders('less'),
    sass: generateLoaders('sass', { indentedSyntax: true }),
    scss: generateLoaders('sass'),
    stylus: generateLoaders('stylus'),
    styl: generateLoaders('stylus')
}

将scss: generateLoaders(‘sass’)进行修改

sass: generateLoaders('sass', {
    indentedSyntax: true,
}),
scss: generateLoaders('sass').concat(
    {
        loader: 'sass-resources-loader',
        options: {
            //这里按照你的文件路径填写;多个文件时用数组的形式传入,如resources: [path.resolve(__dirname, '../src/styles/base/_variables.scss')]
            resources: path.resolve(__dirname, '../src/styles/base/_variables.scss')
        }
    }),

当然也可以直接修改generateLoaders方法

function generateLoaders(loader, loaderOptions) {
    const loaders = []

    // Extract CSS when that option is specified
    // (which is the case during production build)
    if (options.extract) {
        // loaders.push(MiniCssExtractPlugin.loader)
        loaders.push({
            loader: MiniCssExtractPlugin.loader,
            options: {
                publicPath: '../../'
            }
        })
    } else {
        loaders.push('vue-style-loader')
    }

    loaders.push(cssLoader)

    if (options.usePostCSS) {
        loaders.push(postcssLoad
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值