如何在不将整个类放入闭包的情况下使用YUI对全局变量进行模糊处理

gur*_*372 7 javascript yui minify

假设有一个全局变量是一个函数

function MyClass(){}
Run Code Online (Sandbox Code Playgroud)

并且有这类的方法如

MyClass.func1 = function()
{
}
Run Code Online (Sandbox Code Playgroud)

我想确保YUI压缩和混淆工作,而不是将整个类放在一个闭包中

(function () {
    function MyClass(){}
    MyClass.func1 = function()
    {
    }
})();
Run Code Online (Sandbox Code Playgroud)

有没有办法让YUI压缩工作而不这样做?

Joh*_*ing 2

好吧,我想您可以在压缩之前将其包装在匿名函数中,然后在压缩后删除匿名函数。

还要确保您使用的是原型;)

(function () {
  function MyClass(){}
  MyClass.prototype.func1 = function()
  {
  }
})();
Run Code Online (Sandbox Code Playgroud)

结果是:

(function(){function a(){}a.prototype.func1=function(){}})();
Run Code Online (Sandbox Code Playgroud)

然后取出匿名函数:

function a(){}a.prototype.func1=function(){}
Run Code Online (Sandbox Code Playgroud)