一、新建package.json,配置完成后,使用npm install安装。 使用 npm init 创建 package.json package.json放在根目录下,它包含了该项目的一些元信息,如项目名称、描述、版本号,插件等。它应该和源码一样被提交到svn或git。 例: { name: cyjs, version: 0.
一、新建package.json,配置完成后,使用npm install安装。
使用 npm init 创建 package.json
package.json放在根目录下,它包含了该项目的一些元信息,如项目名称、描述、版本号,插件等。它应该和源码一样被提交到svn或git。
例:
{ "name": "cyjs", "version": "0.1.0", "description": "js for k68.org", "homepage": "http://www.k68.org/", "author": "firebaby", "devDependencies": { "grunt": "~0.4.1", "grunt-contrib-jshint": "~0.3.0", "grunt-contrib-concat": "~0.1.1", "grunt-contrib-uglify": "~0.1.2", "grunt-contrib-cssmin": "~0.5.0", "grunt-htmlhint": "~0.9.2" } }
以上都是常用的插件。更多插件,请访问:http://gruntjs.com/plugins
在项目目录下安装插件也可采用如下方式安装:
安装:uglify
npm install grunt-contrib-uglify 登入後複製 |
安装:cssmin
npm install grunt-contrib-cssmin 登入後複製 |
插件安装完成后,查看根目录,会发现node_modules目录,包含了相应的插件目录。
二、新建Gruntfile.js
Gruntfile.js由以下内容组成
1、wrapper函数,结构如下,这是Node.js的典型写法,使用exports公开API
module.exports = function(grunt) { // Do grunt-related things in here }
3、载入grunt插件和任务
4、定制执行任务
例:
module.exports = function(grunt) { //配置参数 grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), concat: { options: { separator: ';', stripBanners: true }, dist: { src: [ "js/config.js", "js/smeite.js", "js/index.js" ], dest: "assets/js/default.js" } }, uglify: { options: { }, dist: { files: { 'assets/js/default.min.js': 'assets/js/default.js' } } }, cssmin: { options: { keepSpecialComments: 0 }, compress: { files: { 'assets/css/default.css': [ "css/global.css", "css/pops.css", "css/index.css" ] } } } }); //载入concat和uglify插件,分别对于合并和压缩 grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); //注册任务 grunt.registerTask('default', ['concat', 'uglify', 'cssmin']); }
三、命令行执行grunt任务
进入到项目根目录,敲:
grunt 登入後複製 |
就会按Gruntfile配置的文件进行压缩合并。
也可以单独执行,例执行js压缩命令:
grunt uglify 登入後複製 |
css压缩命令
grunt cssmin 登入後複製 |
参考:
http://www.cnblogs.com/snandy/archive/2013/03/11/2949177.html
http://my.oschina.net/smeite/blog/119351
手机扫描下方二维码,关注官方微信。