Grunt使用入门(一)

Grunt是前端的瑞士军刀。目前看来,我很期待使用它来完成对LESS实时编译,jshint对JS文件的检测,以及js和css文件的合并,压缩。本文使用系统为windows 7 x64。

安装

说实话,最好的教程还是官方的。目前我使用的版本是v0.4.1。安装grunt需要先安装node.js。现在node的安装也很方便,下载下来直接安装完成之后,在cmd下测试node --versionnpm --version是否正确显示即可。

之后需要借助npm来安装grunt-cli,注意,不是安装grunt。想要在cmd中使用grunt命令,需要npm install -g grunt-cli。完成后测试grunt --version看是否正确显示grunt-cli版本。

这样,就完成了grunt的安装。

在项目中使用

首先创建一个项目目录,由于grunt是node环境下运行,需要使用npm进行管理。所以项目必须要有一个package.json文件,里面最重要的是写明白devDependencies依赖关系。这里有一个例子(用于编译less)可以使用:

{
  "name": "ProjectName",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "*",
    "grunt-contrib-less": "*",
    "grunt-contrib-watch": "*"
  }
}

有了package.json文件之后,我们就可以使用npm install来建立项目了。但是此时,还不能使用grunt命令,因为还差一个Gruntfile.js或者Gruntfile.coffee的文件。这个文件作用是grunt如何工作。继续那个例子(编译less)的Gruntfile.js如下:

module.exports = function (grunt) {

grunt.initConfig({
    less: {
        compile: {
            files: {
                'css/test.css': 'css/test.less'
            }
        },
        yuicompress: {
            files: {
                'css/test-min.css': 'css/test.css'
            },
            options: {
                yuicompress: true
            }
        }
    },
    watch: {
        scripts: {
            files: ['css/*.less'],
            tasks: ['less']
        }
    }
});

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

grunt.registerTask('default', ['less', 'watch']);
};

这样,在项目路径下,就可以执行grunt来完成对css路径下less文件的实时编译了。

小技巧

我觉得入门的时候,最烦人的就是package.jsonGruntfile.js的创建。所以grunt有一个grunt-init的工具,项目地址。通过npm install -g grunt-init安装之后,还需要创建~/.grunt-init目录。在此目录中通过git clone来加载模版。模版加载完成之后,就可以通过grunt-init TEMPLATE来创建了。

另一个小技巧,在项目目录下,先通过npm init创建默认的package.json文件,然后npm install。以后需要用到哪个模块的时候(比如grunt),使用npm install <module> --save-dev会自动把依赖关系写入到package.json中。--save-dev会自动维护package.json文件。

你可能感兴趣的:(前端,grunt)