我有一个问题,闭包编译器重命名一个全局变量,例如 x.sa.xa,但是在所有引用该全局变量的函数中,编译器将它重命名为 H.sa.xa 之类的其他东西
当我查看 HTML 页面时,我得到一个 JavaScript TypeError: H.sa.xa is undefined。
// Top-level namespace for all the code
var nam = nam || {};
(function($, nam) {
goog.provide('nam.jsConfig');
nam.jsConfig.cookies = {"RECENT_ITEMS": "recentitems"};
})($, nam);
(function($, nam) {
goog.provide('nam.util.cookie');
nam.util.cookie.readMyCookie = function () {
var ritems_cookie = nam.util.cookie.JSONCookie.get(nam.jsConfig.cookies['RECENT_ITEMS']);
};
})($, nam);
Closure Compiled Code:
x.sa = {};
x.sa.xa = {RECENT_ITEMS:"recentitems"};
H.a = {};
H.a.cookie = {};
H.a.Tm = function() {
var a = H.a.cookie.ja.get(H.sa.xa.RECENT_ITEMS);
};
由于某种原因,闭包编译器引用H .sa.xa.RECENT_ITEMS 而不是x .sa.xa.RECENT_ITEMS
编译器这样做的任何原因?