Home >php教程 >php手册 >使用Grunt进行js、css压缩合并

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

WBOY
WBOYOriginal
2016-06-06 20:00:241419browse

一、新建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"
    }
}
  • 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

手机扫描下方二维码,关注官方微信。

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn