Heim > php教程 > php手册 > Hauptteil

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

WBOY
Freigeben: 2016-06-06 20:00:24
Original
1384 Leute haben es durchsucht

一、新建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"
    }
}
Nach dem Login kopieren
  • 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
Nach dem Login kopieren

安装:cssmin

npm install grunt-contrib-cssmin
Nach dem Login kopieren

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

二、新建Gruntfile.js

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

  module.exports = function(grunt) {
      // Do grunt-related things in here
    }
Nach dem Login kopieren

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']);
}
Nach dem Login kopieren


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

三、命令行执行grunt任务

进入到项目根目录,敲:

grunt
Nach dem Login kopieren

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

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

grunt uglify
Nach dem Login kopieren

css压缩命令

 grunt cssmin
Nach dem Login kopieren

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

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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage