踩坑记:Vue sass-loader V10配置全局变量

   日期:2020-10-10     浏览:273    评论:0    
核心提示:本文字数:349 预计阅读时间:1.5分钟问题:Vue中使用 scss 配置全局变量时 报错 ~版本信息:Vue 2.6.11 Cli4.5.00sass-loader10.0.2node-sass4.14.1Sass、Less是强化 CSS 的辅助工具,它并不是一门语言,但能有效提高开发效率,最直白的感受是大幅度减少了各种寻找Class,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mix...

 本文字数:349        预计阅读时间:1.5分钟

问题:Vue中使用 scss 配置全局变量时 报错 ~

版本信息:

Vue 2.6.11     Cli 4.5.00

sass-loader 10.0.2

node-sass 4.14.1

Sass、Less是强化 CSS 的辅助工具,它并不是一门语言,但能有效提高开发效率,最直白的感受是大幅度减少了各种寻找Class,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。

本次记录在Vue中引入sass以及如何解决配置全局变量时报错的问题;

1、安装sass-loader:

npm install -D sass-loader sass

然后你就可以导入相应的文件类型,或在 所有的.vue 文件中这样来使用:(注意style标签必须设置lang属性为scss)

<style lang="scss">
    //@import '全局变量scss'
    $color: red;
</style>

2、配置全局变量:

如果在每一个.vue文件都引入import scss文件,还是比较麻烦的,所以直接全局搞定,无需任何地方引入 步骤如下:

安装node-sass:

npm install node-sass --save-dev

配置全局变量scss文件:

//src > styles > variables.scss
    $blue: #324157;
    $red: #c03639;
    $pink: #e65d6e;

项目根目录vue.config.js内配置sass路径:

//project (root) > vue.config.js
module.exports = {
    css: {
        loaderOptions: {
            scss: {
                additionalData: `@import "./src/styles/variables";` //注意
            }
        }
    }
};

PS:

由于sass-loader版本不同,loaderOptions 中 additionalData的键名也不同,基本各大技术论坛90%的scss配置全局变量的文章都未提及V10的键名,这也是导致我踩坑一早上的罪魁祸首...em.....

sass-loader v8-,这个选项名是 "data"
sass-loader v8 中,这个选项名是 "prependData"
sass-loader v10+,这个选项名是 "additionalData"

 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服