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

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

WBOY
Release: 2016-06-06 20:00:24
Original
1402 people have browsed it

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

安装:cssmin

npm install grunt-contrib-cssmin
Copy after login

插件安装完成后,查看根目录,会发现node_modules目录,包含了相应的插件目录。

二、新建Gruntfile.js

Gruntfile.js由以下内容组成
1、wrapper函数,结构如下,这是Node.js的典型写法,使用exports公开API

  module.exports = function(grunt) {
      // Do grunt-related things in here
    }
Copy after login

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']);
}
Copy after login


grunt api文档:http://gruntjs.com/api/grunt

三、命令行执行grunt任务

进入到项目根目录,敲:

grunt
Copy after login

就会按Gruntfile配置的文件进行压缩合并。

也可以单独执行,例执行js压缩命令:

grunt uglify
Copy after login

css压缩命令

 grunt cssmin
Copy after login

参考:
http://www.cnblogs.com/snandy/archive/2013/03/11/2949177.html
http://my.oschina.net/smeite/blog/119351

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

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

Related labels:
source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template