一、首先说明sass和scss的区别。
1、异同:1)简言之可以理解scss是sass的一个升级版本,完全兼容sass之前的功能,又有了些新增能力。语法形式上有些许不同,最主要的就是sass是靠缩进表示嵌套关系,scss是花括号
2)文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名
3)语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。
//sass .father width:100px; .son width:50px; //scss .father{ width:100px; .son{ width:50px; } }
2、 scss功能很强大的样子,能做运算、写函数啥的,但是我只是作为语法糖用而已,只看了些基础功能
我个人常用的功能有:
- 嵌套
- 变量 $color : #111111;
- 混入 @mixin
- 继承 @extend
3、一个关于@mixin、@extend、%placeholder的适用场景总结
- mixin 可以传变量
- extend 不可以传变量,相同样式直接继承,不会造成代码冗余;基类未被继承时,也会被编译成css代码
- placeholder 基类未被继承时不会被编译成css代码
二、
1、开始在vue项目中使用sass,在命令行输入一下命令进行安装(使用git命令行要用shift+insert 进行粘贴否则粘贴不上)
cnpm install node-sass --save-dev //安装node-sass cnpm install sass-loader --save-dev //安装sass-loader cnpm install style-loader --save-dev //安装style-loader 有些人安装的是 vue-style-loader 其实是一样的!
2. 这个时候你打开build文件夹下面的webpack.base.config.js
把里面的module改成这样的
module: { rules: [ { test: /\.vue$/, loader: ‘vue-loader‘, options: vueLoaderConfig }, { test: /\.js$/, loader: ‘babel-loader‘, include: [resolve(‘src‘), resolve(‘test‘)] }, { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: ‘url-loader‘, options: { limit: 10000, name: utils.assetsPath(‘img/[name].[hash:7].[ext]‘) } }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: ‘url-loader‘, options: { limit: 10000, name: utils.assetsPath(‘fonts/[name].[hash:7].[ext]‘) } }, { //从这一段上面是默认的!不用改!下面是没有的需要你手动添加,相当于是编译识别sass! test: /\.scss$/, loaders: ["style", "css", "sass"] } ] }
3.在需要用到sass的地方添加lang=scss
<style lang="scss" scoped="" type="text/css"> //你的sass语言 $primary-color: #333; body { color: $primary-color; //编译后就成了 color:#333;类似于js的变量! } </style>
sass的一些其它用法可以查看官网!
原文地址:https://www.cnblogs.com/shaozhu520/p/10646628.html
时间: 2024-10-09 08:47:22