Sass的编译也是在我们使用Sass的时候必须要经过的一个步骤,因为".sass"和".scss"文件并不能直接使用<link>标签引用,最终其实还是要将他们转换成CSS文件来在项目中使用。

所以要让web页面真正使用到Sass缩写的东西,编译这个过程是必须要有的。

这里会提到3种编译方法:

1.命令行编译

顾名思义,就是通过电脑里的终端(命令行工具)通过指令来编译Sass文件(个人觉得,这种方式比较直观,但是敲命令有点麻烦)

(1)单文件编译:

sass <Sass文件的路径>/style1.cscc : <要输出的CSS文件的路径>/style1.css

这样就把固定路径下的style1.scss编译到了指定的目录下的style1.css中.

(2)多文件编译:

sass sass/:css/

这样是讲sass目录下所有的sass文件编译成css文件,并放在同级的css文件夹中。

(3)watch指令:

我们可以想象一下,如果我们编译后,又对sass文件进行了多次修改,我们就需要反复的去敲这些繁琐的指令,非常的不方便。

这时watch指令有派上了用场,在编译Sass时,开启watch功能,它就是检测Sass文件的变化,并且自动帮你编译更新后的代码:

sass --watch <上边的编译代码>

好了,命令行编译就说到这里。

2.图形化界面工具编译

嘛,懒人福音啊,不用敲繁琐的指令,麻麻再也不用担心我敲错指令了。

其实这样的工具很多,这里推介一下Koala(考拉)

官网传播门:http://koala-app.com/

w3cplus的Koala使用指南:http://www.w3cplus.com/preprocessor/sass-gui-tool-koala.html

3.自动化编译:(Grunt和Gulp)

Grunt:因为本喵现在只会用Gulp,所以这里粘一段度娘给的Grunt代码好了,需要的童鞋自取:

  1. module.exports = function(grunt) {
  2. grunt.initConfig({
  3. pkg: grunt.file.readJSON('package.json'),
  4. sass: {
  5. dist: {
  6. files: {
  7. 'style/style.css' : 'sass/style.scss'
  8. }
  9. }
  10. },
  11. watch: {
  12. css: {
  13. files: '**/*.scss',
  14. tasks: ['sass']
  15. }
  16. }
  17. });
  18. grunt.loadNpmTasks('grunt-contrib-sass');
  19. grunt.loadNpmTasks('grunt-contrib-watch');
  20. grunt.registerTask('default',['watch']);
  21. }

接下来是Gulp:

在我的另一边文章里有写到Gulp的编译Sass等文件的方法,这里是传送门:

http://blog.csdn.net/u013034014/article/details/53559069

(本喵比较懒╮( ̄▽ ̄")╭)

那么关于Sass编译就写到这里啦,欢迎小伙伴们一起交流

前端交流群——<a href="https://jq.qq.com/?_wv=1027&k=42OiUZ5">点击链接加入群【Magic Coder】</a>

Sass学习之路(3)——Sass编译的更多相关文章

  1. Sass学习之路:Sass、Compass安装与命令行

    导言 CSS不是一门真正意义上的编程语言,很多编程语言理所当然的特性(比如变量),都不被支持.同时再开发模块化的web项目的时候,也要避免相互干扰.为了弥补CSS的这些不足,就产生了CSS预处理器,S ...

  2. Sass学习之路(1)——Sass简介

    Sass是CSS的一种预处理器语言,类似的语言还有Less,Stylus等. 那么什么是CSS预处理器? CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些 ...

  3. Sass学习之路(2)——Sass环境安装(windows版)

    因为本喵目前用的是window10的本子,所以这里就发windows版本的安装流程啦.(希望有朋友可以赞助我一个mac(┳_┳)): 第一步:安装ruby 因为Sass是基于ruby编写的,所以先去官 ...

  4. Sass学习之路(4)——不同样式风格的输出方式

    因为每个前端工程师编写代码的风格都不太一样,所以Sass的编译也非常人性化的提供了不同风格的编译方式,主要分为4种. 比如下面这一段Sass代码,我们来看看在不同风格下,会编译成什么样吧: nav { ...

  5. SASS学习笔记1 —— 安装、编译和调试

    一.什么是SASS SASS是一种"CSS预处理器"(css preprocessor)的开发工具,为CSS加入编程元素,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的 ...

  6. Sass学习之路(5)——变量

    1.定义变量:Sass中定义变量的关键字是'$'(毕竟程序员缺钱),并使用冒号(:)进行赋值,例如: $width:200px;//定义了一个名为width的变量,值为200px 2.普通变量和默认变 ...

  7. Sass学习之路:注释、变量以及导入

    前言 由于.sass不兼容CSS代码,所以以下内容完全使用.scss的语法. Sass注释 Sass中除了提供CSS中的标准注释之外,还提供了一种静默注释: /* 我是标准注释 */ // 我是静默注 ...

  8. 嵌入式Linux驱动学习之路(四)u-boot编译分析

    u-boot编译分析 在配置完成后,执行make开始编译.这里打开Makefile. 首先在目标all前有一句话首先检查是否有include/config.mk文件来判断是否成功配置过. ifeq ( ...

  9. Makefile学习之路6——让编译环境更加有序

    在大多项目中都会合理设计目录结构来提高维护性,在编译一个项目时会产生大量中间文件,如果中间文件直接和源文件放在一起,就显得杂乱而不利于维护.在为现在这个complicated项目编写makefile之 ...

随机推荐

  1. BATCH(BAT批处理命令语法)

    bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件[@more@] bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的 ...

  2. php 图片添加文字水印 以及 图片合成(微信快码传播)

    1.图片添加文字水印: $bigImgPath = 'backgroud.png'; $img = imagecreatefromstring(file_get_contents($bigImgPat ...

  3. PHP 常见语法 集合

    1.die()与exit()的真正区别 die 为 exit 的别名, 执行过程 将释放内存,停止代码执行 echo "begin exec <br/>"; show( ...

  4. Apache配置多个网站的方法

    Apache的虚拟主机是一种允许在同一台机器上,运行超过一个网站的解决方案.虚拟主机有两种,一种叫基于IP的(IP-based),另一种叫基于名字的(name-based).虚拟主机的存在,对用户来说 ...

  5. js map

    // js通用方法 // map对象定义 function Map() { var struct = function(key, value) { this.key = key; this.value ...

  6. HTML5 is Canvas

    var cvs = document.getElementById("cvs"); // // 获取上下文环境 var con = cvs.getContext("2d& ...

  7. STL中的set/multiset小结

    (1)使用set/multiset之前必须包含头文件<set>:#include<set> (2)namespace std{ template <class T, cl ...

  8. bootstrap插件学习-bootstrap.alert.js

    我们先看bootstrap.alert.js的结构 var dismiss = '[data-dismiss="alert"]' //自定义属性 Alert = function ...

  9. 红黑树(三)之 Linux内核中红黑树的经典实现

    概要 前面分别介绍了红黑树的理论知识 以及 通过C语言实现了红黑树.本章继续会红黑树进行介绍,下面将Linux 内核中的红黑树单独移植出来进行测试验证.若读者对红黑树的理论知识不熟悉,建立先学习红黑树 ...

  10. Python单元测试框架之pytest -- fixtures

    fixtures不太好翻译,可看作是夹心饼干最外层的两片饼干.通常用setup/teardown来表示.它主要用来包裹测试用例,为什么需要这样的饼干呢?我们以web自动化测试为例,例如,要测试的某系统 ...