Grunt 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作,例如文件操作等等。此外,Grunt 以及它的插件们,都作为一个 包 ,可以用 NPM 安装进行管理。 所以 NPM 生成的 package.json 项目文件,里面可以记录当前项目中用到的 Grunt 插件,而 Grunt 会调用 Gruntfile.js 这个文件,解析里面的任务(task)并执行相应操作。
安装 Grunt-cli
其实是安装 Grunt-cli ,这里安装Grunt的命令行支持(command line interface,简称CLI),在这之后,命令提示符中将会识别grunt命令。安装grunt-cli 并不能称为安装Grunt完毕。这是因为,Grunt本身不是全局使用的,任何具体的工作目录,如果要使用Grunt,都需要安装一次Grunt。这样做也是因为不同的工作目录,需要通过Grunt做的自动化工作也不同,因此需要独立配置。—save-dev 参数,表示会把刚安装的东西添加到 package.json 文件中。
生成 package.json 文件
npm对工作目录有一个要求。这个要求是:根目录位置处有一个package.json 文件。这个文件定义了工作目录对应的一些项目信息(名字,描述),以及包(就是npm模块)依赖关系。 执行下面命令便可以初始化为当前工作目录安装Grunt和需要的插件 方法1
之前我们把Grunt安装到了全局目录下,现在需要引入到当前项目路径,与此同时,所需要的插件可能有这些:合并文件:grunt-contrib-concat 语法检查:grunt-contrib-jshint Scss 编译:grunt-contrib-sass 压缩文件:grunt-contrib-uglify 监听文件变动:grunt-contrib-watch 建立本地服务器:grunt-contrib-connect 安装它们的方式可以是:
方法2-手动更改package.json
手动在package.json文件里面添加这个字段,将需要依赖的包添加进去,如果只需安装最新版本,可以改成 * ,然后执行npm install,会发现文件夹里多了node_modules文件夹,里面存放的就是我们需要的插件。
配置
一般来说,直接使用模板作为配置文件。插件配置区域
});
//加载插件任务,要使用谁就添加谁
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-imagemin');
// 注册任务
grunt.registerTask('default',['cssmin','imagemin','uglify']);
};
grunt.loadNpmTasks()是加载插件任务。其实就是说,你如果要使用哪个插件的功能,请在这部分用这句代码把插件任务添加进去。 grunt.registerTask()是注册任务,默认有一个default。默认的意思就是说,你最后使用的时候,在目录的命令提示符里直接输入grunt便可以执行注册的任务,相当于执行了default这个任务。
使用自定义任务
可以注册更多的任务命令,使用其他的命名。比如对应使用的时候,输入: