zoukankan      html  css  js  c++  java
  • grunt-contrib-uglify js压缩

    grunt-contrib-uglify:压缩以及合并JavaScript文件。

    插件安装:npm install grunt-contrib-uglify --save-dev

    参数:

    banner:文档头部添加,一般做说明和注释用

    footer:文档底部添加,与banner功能相同

    mangle:参数为false不混淆变量名(不改变原始定义的变量名);true:压缩后,改变原始定义的变量名

    preserveComments:参数为all:保留注释;false:删除全部注释;some:保留@preserve/@license/@cc_on等注释

    report:参数为min:输出压缩率;false:不输出信息;也可为gzip

    beautify:参数为true:美化代码,即格式化显示,合并对象等;false:不美化代码

    1.按原文件结构压缩js文件夹内所有JS文件

    • expand:如果设为true,就表示下面文件名的占位符(即*号)都要扩展成具体的文件名。
    • cwd:需要处理的文件所在目录
    • src:表示需要处理的文件。如果采用数组的形式,数组中的每一项都是一个文件名,可以使用通配符(*)。
    • dest:处理后的文件所在的目录。
    • ext:处理后的文件的后缀名。
    • flatten:删除所有生成的dest的路径部分。
    • rename:一个函数,接受匹配到的文件名、匹配的目标位置,返回一个新的目标路径。
    grunt.initConfig({
      pkg: grunt.file.readJSON('package.json'),
      uglify: {
        options: {
          //添加banner
          banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */
    '
        },
        buildall: {
          files: [{
            expand: true,
            cwd: 'js',//js目录下
            src: '**/*.js',//所有js文件
            dest: 'output/js'//输出到此目录下
          }]
        }
      }
    });

    2.合并压缩js

    grunt.initConfig({
      pkg: grunt.file.readJSON('package.json'),
      uglify: {
        release: {// 合并压缩a.js和b.js
          files: {
            'output/js/index.min.js':['js/a.js','js/b.js']
          }
        }
      }
    });
  • 相关阅读:
    学习:大文件统计与排序
    共享库SidebySide之Windows Shared Assembly
    Bundle是个好东西
    所谓的代码段、数据段
    [design decision] common case vs. rare case
    如何给C++设计一个GC
    玩一把tesseract
    [design decision]让工具依赖于naming convention是个拙劣的做法
    监控域名可用性并自动发信
    调试lua代码
  • 原文地址:https://www.cnblogs.com/cyj7/p/4844708.html
Copyright © 2011-2022 走看看