第一部分:Sass语言

Sass是一种强大的css扩展语言(css本身并不是一门语言),它允许你使用变量、嵌套规则、mixins、导入等css没有但开发语言(如Java、C#、Ruby等)有的一些特性,并且完全兼容CSS语法。Sass有助于保持大型样式表结构良好。

Sass有两种语法。

一种称为SCSS,是一个CSS3语法的扩充版本,也就是说,所有符合CSS3语法的样式表也都是具有相同语法意义的SCSS文件,SCSS样式表文件要以.scss扩展名结尾。在vue中,我们可以使用<style lang="scss"></style>来标志里面的内容是以SCSS语法来书写的。

一种称为SASS,是Sass以前的语法,它和python一样,没有{}大括号来标志程序块,而是以缩进来标志嵌套层级;而且也不使用分号,而是用换行符来分隔属性。SASS样式表文件要以.sass扩展名结尾。在vue中,我们可以使用<style lang="sass"></style>来标志里面的内容是以SASS语法来书写的。

第二部分、VUE2.0中集成Sass

Step1:在项目中安装Sass

 npm install node-sass --save-dev
npm install sass-loader --save-dev

PS:有时因为网络原因,安装起来比较慢,这里推荐的和大家的一样,使用淘宝的,可以临时用一下淘宝的镜像,不用非得将默认的镜像源更新为淘宝的。如下所示:

 $ npm install --save node-sass --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist --sass-binary-site=http://npm.taobao.org/mirrors/node-sass

说明:

--registry=https://registry.npm.taobao.org 淘宝npm包镜像

--disturl=https://npm.taobao.org/dist 淘宝node源码镜像,一些二进制包编译时用

--sass-binary-site=http://npm.taobao.org/mirrors/node-sass 这个才是node-sass镜像

Step2:配置Sass解析器

      webpack.base.conf.js中,modules结节下的loaders结节中添加es2015的支持,如下所示:

 module: {
loaders: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query: {
presets: ['es2015']
}
}
],
}

PS:不安装的话会出现如下错误:Couldn't find preset "es2015" relative to directory

      同样是在webpack.base.conf.js中,modules结节下的rules节点中添加sass的解析器,如下所示:

 module: {
rules: [
{
test: /\.scss$/,
loaders: ["style", "css", "sass"]
},

Step3:尝试使用Sass的SASS语法

     以下是使用传统的CSS样式的页面:

样式如下:

 <style>
.body {
color:red;
}
</style>

我们修改样式为:

 <style lang="sass">
$body-color: red; .body
color: $body-color;
</style>

       样式依然生效。

Step4:尝试使用Sass的SCSS语法

 <style lang="scss">
$body-color:red;
.body {
color: $body-color;
}
</style>

样式依然生效。

说明:这个只是最简单的例子,而且是与vue结合,如果你需要单独编译.sass文件或者.scss文件,那么你需要安装Ruby, 同时可以让SASS监控某个样式表的变动,实现样式的热部署。

参考文档

http://www.ruanyifeng.com/blog/2012/06/sass.html

https://www.w3cplus.com/sassguide/

http://www.jianshu.com/p/67f52071657d

https://www.cnblogs.com/walls/p/6258974.html

http://www.jianshu.com/p/8e60048baeb7

https://www.cnblogs.com/qqqiangqiang/p/5359986.html

http://sass.bootcss.com/

https://www.cnblogs.com/crazycode2/p/6535105.html

https://zhuanlan.zhihu.com/p/25106145

vue2.0中使用sass的更多相关文章

  1. 在vue2.0中使用sass

    第一步:使用sass必须安装下面三个东西 cnpm install node-sass --save //安装node-sass cnpm install sass-loader --save //安 ...

  2. vue2.0中使用less

    第一部分:Less语言 与上一篇<vue2.0中使用sass>介绍的Sass语言一样,Less语言也是一种CSS的扩展语言,增加了变量.混合(minin).函数等功能,让CSS更易维护.方 ...

  3. Vue2.0中的transition组件

    组件的过度 Vue1.0中transition做为标签的行内属性被vue支持.但在Vue2.0中.Vue放弃了旧属性的支持并提供了transition组件,transition做为标签被使用. 使用t ...

  4. router-view在vue2.0中不显示,解决方法

    学习的router-view路由一直不显示,我翻看vue文档,花费1个小事终于找到原因,希望我的问题能给初学的同学,带来福音,版本不一样,真的烦 在此总结记录,以免以后在此遇到此问题 //配置路由 c ...

  5. vue2.0中使用pug(jade)

    第一部分:pug(jade)模板引擎 pug,原名jade,是流行的HTML模板引擎,它是HAML在JavaScript上的实现,最大的特色是使用缩进排列替代成对标签. 它简化了HTML的成对标签的写 ...

  6. vue2.0 中#$emit,$on的使用详解

    vue1.0中 vm.$dispatch 和 vm.$broadcast 被弃用,改用$emit,$on 1. vm.$on( event, callback ) 监听当前实例上的自定义事件.事件可以 ...

  7. Vue2.0中v-for迭代语法变化(key、index)【转】

    转自:http://blog.csdn.net/sinat_35512245/article/details/53966788 Vue2.0的代码中发现 $key这个值并不能渲染成功,问题如下:但是v ...

  8. Vue2.0中的路由配置

    Vue2.0较Vue1.0,路由有了较大改变.看一下Vue2.0中的路由如何配置: 步骤一: 在main.js文件中引入相关模块以及组件及实例化vue对象配置选项路由及渲染App组件 默认设置如下: ...

  9. vue2.0中,由于页面完成之后dom还未加载完成如何进行操作

    再vue中,当页面加载完成以后,dom还没有加载,是无法获取进行操作的,但是在vue2.0中提供了一个方法:this.$nextTick,在这个回调函数里面写dom操作即可: 如下代码: create ...

随机推荐

  1. js判断当前浏览器语言类型

    console.log(window.navigator.language.slice(0, 2)); 得到的是zh

  2. (网页)jQuery的时间datetime控件在AngularJs中使用实例

    百度一下,自己也想了一下,有一种简单,无脑的方式分享给你: <input ng-model="start" id="start" placeholder= ...

  3. (网页)AngularJS 参考手册

    指令 描述 ng-app 定义应用程序的根元素. ng-bind 绑定 HTML 元素到应用程序数据 ng-bind-html 绑定 HTML 元素的 innerHTML 到应用程序数据,并移除 HT ...

  4. 视频截图Util

    ​​ VideoToPicUtil.java package com.zhwy.util; import java.io.File; import java.util.ArrayList; impor ...

  5. windows10不能获取有效IP的问题

    最近我的windows10系统一直不能有效获取IP地址(无论有线还是无线),但手工设置IP后又能正常上网,所以怀疑是某个服务未启动的原因. 查了一下百度,发现还真是,现将解决方案记录如下: 1.打开系 ...

  6. spring IOC中三种依赖注入方式

    Spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则,用来消减计算机程序之间的耦合问题,控制反转一般分为两种类型,依赖注入和依赖查找,依赖什么?为什么需要依赖?注入 ...

  7. box-shadow的动效制作

    突然发现原来box-shadow的功能很强大,还能做动效,下面整理下box-shadow几个效果 案例1:hover效果 <a href="/app/list">WEB ...

  8. C - Cake HDU - 1722 (数学)

    题意:就是一个蛋糕,被分成n或者m份.问最少动几刀. 看一下这个图,就知道公式了,n+m-gcd(n, m); #include<cstdio> #include<iostream& ...

  9. 【转】联想笔记本进入u盘启动项操作方法详解

    win7之家小编最近可是对联想笔记本进入u盘启动项的方法很有兴趣啊,那么联想进入u盘启动到底要怎么操作呢?其实方法是有的,因为小编就是研究联想进入u盘启动出身的,下面小编就给大家带来史上最详细的联想笔 ...

  10. metamascara学习导论

    研究了一段时间的metamascara终于有了一点起色,因为前段时间有一个小伙伴问了我一个问题,就是能不能将metamask嵌入到自己设计的网站中,在自己要进行交易的时候也会弹出一个页面来让用户确认这 ...