zoukankan      html  css  js  c++  java
  • 如何用grunt压缩文件

     grunt-cli 全局装完之后,就可以给每个项目装grunt了。

     
    1.先把package.json和Gruntfile.js拷到项目下(PS:这两个文件是每个项目装grunt的时候必带的)
    package.json 内容如下:
    {
      "name": "rk",
      "version": "0.1.0",
      "devDependencies": {
        "grunt": "^1.0.1",
        "grunt-contrib-uglify": "^2.0.0",
        "grunt-contrib-concat": "~0.1.1",
        "grunt-css":">0.0.0",
       "grunt-contrib-cssmin": "~0.5.0"
      }
    }

    Gruntfile.js 内容如下:

    module.exports = function (grunt) {
        // 构建任务配置
        grunt.initConfig({
            //读取package.json的内容,形成个json数据
            pkg: grunt.file.readJSON('package.json'),
            //压缩js
            uglify: {
                //文件头部输出信息
                options: {
                    banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */
    '
                },
                my_target: {
                    files: [
                        {
                            expand: true,
                            //相对路径
                            cwd: 'js/',
                            src: ['*.js','*/*.js','*/*/*.js','*/*/*/*.js','*/*/*/*/*.js'],
                            dest: 'dest/js/',
                            rename: function (dest, src) {  
                                      var folder = src.substring(0, src.lastIndexOf('/'));  
                                      var filename = src.substring(src.lastIndexOf('/'), src.length);  
                                      //  var filename=src;  
                                      filename = filename.substring(0, filename.lastIndexOf('.'));  
                                      var fileresult=dest + folder + filename + '.js';  
                                      grunt.log.writeln("现处理文件:"+src+"  处理后文件:"+fileresult);  
                                      return fileresult;  
                                      //return  filename + '.min.js';  
                                  } 
                        }
                    ]
                }
            },
            //压缩css
            cssmin: {
                //文件头部输出信息
                options: {
                    banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */
    ',
                    //美化代码
                    beautify: {
                        //中文ascii化,非常有用!防止中文乱码的神配置
                        ascii_only: true
                    }
                },
                my_target: {
                    files: [
                        {
                            expand: true,
                            //相对路径
                            cwd: 'css/',
                            src: ['*.css','*/*.css','*/*/*.css','*/*/*/*.css'],
                            dest: 'dest/cssmin/',
                            rename: function (dest, src) {  
                                    var folder = src.substring(0, src.lastIndexOf('/'));  
                                    var filename = src.substring(src.lastIndexOf('/'), src.length);  
                                    //  var filename=src;  
                                    filename = filename.substring(0, filename.lastIndexOf('.'));  
                                    var fileresult=dest + folder + filename + '.css';  
                                    grunt.log.writeln("现处理文件:"+src+"  处理后文件:"+fileresult);  
                                    return fileresult;  
                                  //return  filename + '.min.js';
                                    }
                        }
                    ]
                }
            }
        });
        // 加载指定插件任务
        grunt.loadNpmTasks('grunt-contrib-uglify');
        grunt.loadNpmTasks('grunt-contrib-cssmin');
        // 默认执行的任务
        grunt.registerTask('default', ['uglify', 'cssmin']);
    };
    2.cmd进入到项目目录下然后执行“npm install”,命令执行完毕之后就可以把代码拷贝到根目录下。
    3.cmd中执行“grunt”
    4.ok,静静等待需要压缩的文件批量压缩好吧
     
  • 相关阅读:
    数据库——生成数据字典
    某物抓数据出现验证码的解析思路
    codeforces 1579G Codeforces Round #744 (Div. 3)
    10.12JDBC之DAO及其实现类
    10.06JavaWeb之PreparedStatement进行数据表CRUD练习
    10.09JavaWeb之JDBC后程
    10.06JavaWeb之PreparedStatement向表中插入Blob类型数据
    9.29JavaWeb之JDBC之查询操作流程
    9.30JavaWeb之PreparedStatement获取任意一个对象的属性值
    9.24JavaWeb之PreparedStatement
  • 原文地址:https://www.cnblogs.com/clear93/p/5633889.html
Copyright © 2011-2022 走看看