grunt的使用

本文详细介绍了如何使用Node.js、Grunt、SASS在本地环境中搭建一个高效、自动化的设计开发流程。从安装命令行工具、创建项目、初始化工程,到配置Grunt任务实现SASS编译、文件监视等功能,最终通过实践演示了如何快速启动并维护一个现代化的前端开发工作流。

安装 Grunt命令行(CLI)

sudo npm install -g grunt-cli

到桌面建立自己的工程demo

mkdir gruntLearn

进入gruntLEarn文件夹执行命令初始化工程:

sudo npm init

该命令,讲创建一个package.json文件:

{
  "name": "learn",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

安装grunt:

sudo npm install grunt --save-dev

--save-dev的作用是将 该 依赖包 写入 package.json中

分别安装 sass和watch

sass需要本地安装(自行google)

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

然后执行

再次查看package.json

{
  "name": "learn",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-sass": "^1.0.0",
    "grunt-contrib-watch": "^1.0.0"
  }
}

建立grunt的Gruntfile 文件,touch Gruntfile.js,先看看完整的Gruntfile文件:

//wrapper函数
module.exports = function(grunt){

    //读取package.json
    grunt.file.readJSON('package.json');

    //初始化Grunt
    grunt.initConfig({

        //Sass任务
        sass: {
            //Sass开发选项
            dev: {
                options: {
                    style:"expanded"
                },
                files: {
                    'css/main.css':'css/sass/main.scss'
                }
            },

            //Sass发布选项
            dist: {
                options: {
                    style:'compressed'
                },
                files: {
                    'css/main.css':'css/sass/main.scss'
                }
            }
        },
        //监测文件
        watch:{
            //监测.scss文件
            sass: {
                files:['css/sass/**.scss'],
                tasks:['sass:dev']
            },
        },
    });

    //加载任务
    grunt.loadNpmTasks('grunt-contrib-sass');
    grunt.loadNpmTasks('grunt-contrib-watch');

    //创建默认任务
    grunt.registerTask('default',[
        'sass:dev',
        'watch',
    ]);

    //创建发布任务
    grunt.registerTask('dist',[
        'sass:dist'//编译Sass的发布设置
    ]);
};

Gruntfile.js的主要工作:

配置任务在grunt.initConfig中:

//配置sass任务
//Sass任务
        sass: {
            //Sass开发选项
            dev: {
                options: {
                    style:"expanded"
                },
                files: {
                    'css/main.css':'css/sass/main.scss'
                }
            },

            //Sass发布选项
            dist: {
                options: {
                    style:'compressed'
                },
                files: {
                    'css/main.css':'css/sass/main.scss'
                }
            }
        },

并且添加监听,在sass文件保存之后继续,编译sass文件

//监测文件
        watch:{
            //监测.scss文件
            sass: {
                files:['css/sass/**.scss'],
                tasks:['sass:dev']
            },
        },

当然,到时可以在这里加上js等文件的监听。

加载任务(把需要用到的任务,加载到grunt中):

grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');

再创建默认的任务:

grunt.registerTask('default',[
        'sass:dev',
        'watch',
    ]);

测试:

在当前文件夹,建立css/sass/main.scss

body {
    width: 100%;
}

在工程的根目录运行 

sudo grunt

即可,该任务会一直监听,main.scss的变化而重新编译。

对于发布选项的grunt的任务可以通过

sudo grunt sass:dist

进行编译

对于安装命令,很多都需要sudo,不然权限不够而无法安装,或者运行。

demo地址

转载于:https://my.oschina.net/xbuding/blog/668916

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值