想了解Grunt,可以先去官网 看看。

第一次接触Grunt是通过Coding的移动端项目, 刚开始因为环境的问题折腾了一两天,然后就顿悟了。

Grunt构建工具对于前端开发而言,简直是神器(ps.虽然我不是专职前端2333)... 高手们 觉得描述有误欢迎指教。

这里只是对我的使用过程做一些简单的记录和描述,说了这么多,我们开始吧。

Grunt入门

请先阅读Grunt快速入门

Grunt 作为工具,目的是为了提升开发效率,让繁琐的工作自动化。Grunt 之所以优秀,离不开庞大的插件库。而我们使用 Grunt ,核心就是如何让这些插件为我们所用。

一句话:配置 Gruntfile.js 是关键

Gruntfile.js

先来看看我目前的 配置文件

前端最繁琐的工作就是调样式了,为了方便快捷的写 css 代码,我想使用 saas 。那么我们开始配置 saas 开发环境吧。详细参见 grunt-contrib-sass

1、进入项目根目录安装 grunt-contrib-sass 插件

npm install grunt-contrib-sass --save-dev

2、打开配置文件进行相关配置

A.在 grunt.initConfig 中配置 sass ,实现由 .scss 生成 .css

sass: {

server: {

options:{

sourcemap: 'none'

},

files:[{

expand: true,

cwd: '<%= yeoman.app %>/styles/scss',

src: ['**/*.scss'],

dest: '<%= yeoman.app %>/styles',

ext: '.css'

}]

}

}

只配置了几个基本的参数,匹配原目录对应文件,指定生成css文件目录,通过

grunt sass:server

可以进行测试。

B.在 grunt.initConfig 中 grunt-contrib-watch 插件节点下配置监听,实现自动监测scss文件变化生成css

watch:{

sass: {

files: ['<%= yeoman.app %>/styles/scss/*.scss'],

tasks: ['sass:server']

}

}

指明监听目录和对应执行task即可。

这样自动监听 scss 文件生成 css 文件的环境就配置好了。然后就可以愉快的在

grunt serve

下进行 scss 的编写了。

[wenki](http://www.cnblogs.com/wenki/)

Grunt 使用记录的更多相关文章

  1. 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获

    很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解 ...

  2. grunt live reload 配置记录

    1.npm install --save-dev grunt-contrib-watch  安装 watch 2.安装chrome livereload 插件 3.配置Gruntfile.js wat ...

  3. grunt + sass 使用记录

    环境依赖 Nodejs for grunt Ruby for sass 配置文件 package.json { "name": "app", "ver ...

  4. grunt安装,配置记录

    进了新的公司,需要重构一个项目,从头开始.本人患懒癌已久,一直没有写博客的打算,也是因为资质还比较浅,写不出什么富有涵养的内容,后来想了想,就当自己的笔记吧.这次从新开始,未尝不是一个博客开始的好时机 ...

  5. 应用Grunt自动化地优化你的项目前端

    在不久前我曾写了一篇 应用r.js来优化你的前端 的文章,为大家介绍了r.js这个实用工具,它可以很好地压缩.合并前端文件并打包整个项目.但是如果将r.js放到项目中,我们不得不顾及到一个问题——项目 ...

  6. [译]为什么我要离开gulp和grunt转投npm脚本的怀抱

    原文链接:https://medium.freecodecamp.com/why-i-left-gulp-and-grunt-for-npm-scripts-3d6853dd22b8#.n7m1855 ...

  7. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  8. 配置grunt进行css、js的检查、合并和压缩

    现在会进行代码的合并和压缩已成为前端人员的必备知识,那么现在来介绍一个grunt的工具.grunt是个风靡世界的工具,它的首页是  http://www.gruntjs.net 这是个中文网站,有文档 ...

  9. 前端资源构建-Grunt环境搭建

    前端资源构建-Grunt 随着前端开发的复杂度越来越高,前端页面动辄上几十个js,十几个html页面.用户打开一个页面需要加载一堆的css,js,html文件,对于有大量用户的web应用来说,既消耗服 ...

随机推荐

  1. 遍历list、set、map和array

    public static void main(String[] args) { /*1. List*/ ArrayList<Integer> list = new ArrayList&l ...

  2. java反射

    知识点1:获取类字节码的三种形式 1.Class date = Date.class;//根据类名获取字节码 2.Date date= new Date(); date.getClass();//对象 ...

  3. 利用代码添加autolayout约束

    1.概述 通常我们通过storyboard能够完成的,代码也能够完成,所以这里介绍下代码实现约束的添加,通常我们不这么干(在不使用第三方框架的情况下,使用系统自带的类添加约束特别繁琐),所以这里仅仅简 ...

  4. Xcode8更新约束

    Xcode升级之后就会发现约束设置好,想更新一下约束,看看约束是不是刚刚好,习惯性的去点右下角的更新约束的结果却发现没有更新约束的这一项了,好尴尬. 后来发现原来在Xcode8的约束更新换了一个地方, ...

  5. 2017年第1贴:EXT.JS使用MVC模式时,注意如何协调MODEL, STORE,VIEW,CONTROLLER的关系

    也调了快一天,死活找不到窍门. MODEL, STORE,VIEW的调置测试了很久,试了N种方法,不得其果. 最后,试着在APPLICATION里加入CONTROLLER, 在CONTROLLER里加 ...

  6. python中list作为全局变量无需global声明的原因

    发现一个问题. python中list变量作为全局变量时,在函数中可以直接修改. 而普通变量则需要先在函数中global声明,否则会报错. 例如: a = 1 def fun(): global a ...

  7. Andriod学习笔记5:通过NDK在C++中实现日志输出

    开发环境 android studio 1.5.1 实现步骤 新建android项目 项目名称为AndroidCLog,选择Empty Activity模板,其他默认即可. 下载配置ndk 在项目上右 ...

  8. HDU 5945 / BestCoder Round #89 1002 Fxx and game 单调队列优化DP

    Fxx and game 问题描述   青年理论计算机科学家Fxx给的学生设计了一款数字游戏. 一开始你将会得到一个数\:XX,每次游戏将给定两个参数\:k,tk,t, 任意时刻你可以对你的数执行下面 ...

  9. HDU 5742 Chess SG函数博弈

    Chess Problem Description   Alice and Bob are playing a special chess game on an n × 20 chessboard. ...

  10. 解决C# WinForm Graphics绘制闪烁问题

    不直接使用form的CreateGraphics创建Graphics进行绘制,可以先在Form上面放一个需要大小的PictureBox,再创建一个同大小的Bitmap,将这个Bitmap设置为Pict ...