Nodejs grunt混淆

时间:2012-05-19 21:52:10

标签: node.js obfuscation

我正在使用Nodejs grunt模块。我知道grunt min选项缩小文件。但现在我需要混淆谷歌闭包编译器等文件。 grunt有这个功能吗?

1 个答案:

答案 0 :(得分:6)

grunt min任务允许您设置UglifyJS(grunt min工具)选项,这可以让您更好地控制目标文件的修改和压缩方式。

https://github.com/cowboy/grunt/blob/master/docs/task_min.md#specifying-uglifyjs-options

https://github.com/mishoo/UglifyJS

来自grunt task_min doc:

Specifying UglifyJS options

In this example, custom UglifyJS mangle, squeeze and codegen options are
specified. The listed methods and their expected options are explained in
the API section of the UglifyJS documentation:

The mangle object is passed into the pro.ast_mangle method.
The squeeze object is passed into the pro.ast_squeeze method.
The codegen object is passed into the pro.gen_code method.

// Project configuration.
grunt.initConfig({
  min: {
    dist: {
      src: ['dist/built.js'],
      dest: 'dist/built.min.js'
    }
  },
  uglify: {
    mangle: {toplevel: true},
    squeeze: {dead_code: false},
    codegen: {quote_keys: true}
  }
});