vue使用sass根据环境进行样式判断区分方式
作者:zhlCool
这篇文章主要介绍了vue使用sass根据环境进行样式判断区分方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
使用sass根据环境进行样式判断区分
我们在开发时可能会有需求根据当前vue的环境变量进行样式区分,说白了就是如何在sass中进行if else,下面将是我的处理方法。
首先在webpack -> utils.js 中将环境变量定义:
然后在sass文件中使用:
div { @if ($env == 'production') { height: calc(100vh - 332px); // 生产环境展示 } @else { height: calc(100vh - 412px); // 开发环境展示 } }
这样就可实现css根据开发环境进行样式编写了。
vue sass和scss的区别
Scss 是 Sass 3 引入新的语法,简言之可以理解scss是sass的一个升级版本,完全兼容sass之前的功能,又有了些新增能力。语法形式上有些许不同,最主要的就是sass是靠缩进表示嵌套关系,scss是花括号。
Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点:
- 文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名
- 语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。
示例
sass语法:
$font-stack: Helvetica, sans-serif //定义变量 $primary-color: #333 //定义变量 body font: 100% $font-stack color: $primary-color
scss语法:
$font-stack: Helvetica, sans-serif; $primary-color: #333; body { font: 100% $font-stack; color: $primary-color;}
编译出来的 CSS:
body { font: 100% Helvetica, sans-serif; color: #333; }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。