使用Grunt进行js、css压缩合并

本文介绍如何通过配置package.json文件安装Gruntjs及其常用插件,并详细展示了Gruntfile.js的编写方法,包括合并压缩JS/CSS文件的具体配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过上文介绍了,已经在项目目录下安装了Gruntjs,本文记录一下使用方法。


一、新建package.json,配置完成后,使用npm install安装。


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"
    }
}
grunt-contrib-jshint(js语法检查)、grunt-contrib-concat(js合并)、grunt-contrib-uglify(采用UglifyJS压缩js)、grunt-contrib-cssmin(Css压缩合并)、grunt-htmlhint(html语法验查),以上都是常用的插件。


更多插件,请访问: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
    };
2、项目和任务配置
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 api文档:http://gruntjs.com/api/grunt


三、命令行执行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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值