如何访问nocollapsed对象名称(使用closure-util编译)

时间:2019-04-17 09:40:20

标签: javascript google-closure-compiler

我编写了脚本代码,并使用closure-util进行了编译。 但是,我无法访问实例化对象的子对象。 如何修复或编写代码? 我在下面包含了我的代码...


  

main.js


goog.provide('org');
goog.provide('org.com');

/** @constructor */
org.com = function(){
    this.name = "com";
    console.log("created org.com");
}

/** @constructor */
org.com.init = function() {
    console.log("org.com.init!!");

    var obj = new org.com();
    obj.init();
    return obj
};

org.com.prototype.init = function(){
    console.log("org.com.prototype.init");

    try {
        this.biz1 = new org.com.biz1;
    } catch (e$1) {
        this.biz1 = undefined;
    }

    if (this.biz1 != undefined) {
        console.log("call biz1.prototype.init...");
        this.biz1.init(this);//
    }
}

/** @constructor */
org.com.biz1 = function(){
    this.name = "biz1";
    console.log("org.com.biz1");
}

org.com.biz1.prototype.init = function(parent){
    console.log("org.com.biz1.prototype.init");
}

goog.exportSymbol('org.com',org.com);
goog.exportSymbol('org.com.init',org.com.init);
goog.exportSymbol('org.com.biz1',org.com.biz1);

goog.exportProperty(org.com.prototype,'init',org.com.prototype.init);
goog.exportProperty(org.com.biz1.prototype,'init',org.com.biz1.prototype.init);

  

config.json


“ output_wrapper”:“(function(){%output%})();”


  

index.html(Chrome调试控制台)


> org
{com: ƒ}
--com: ƒ of()
----biz1: ƒ pf()
----init: ƒ ()

这没关系!我所期望的。

> var obj = new org.com.init()
> obj
of {name: "com", a: pf}
--a: pf {name: "biz1"}
--name: "com"
  

of -> org.com(我希望使用'com'而不是'of')

     

a -> org.com.biz1(我希望使用“ biz1”代替“ a”)

请问如何解决(或编写代码)呢?

0 个答案:

没有答案