请参阅code below。
module AAA {
export module user {
export var am = {}
}
}
//1.
module AAA {
export module user {
am['x']= 'y';
}
}
//2.
module AAA {
export module user {
user.am['x']= 'y';
}
}
我正在尝试将模块拆分为两个(或更多)文件。第一个(1.)表单不起作用,因为有时生成的代码(无法在操场上生成)看起来像(注意下划线)
var AAA;
(function (AAA) {
(function (_user) {
AAA._user.am['x'] = 'y';
})(AAA.user || (AAA.user = {}));
var user = AAA.user;
})(AAA || (AAA = {}));
但是,第二个(2.)形式工作正常,我得到变量am
的智能感知。这是一种可靠的方法,如果我保证引用文件的顺序?或者我是否需要从根目录中引用AAA.user.am['x']= 'y';
或更好的方式?
此外,在生成的代码中,有两个变量声明var AAA;
。这会导致任何问题。如果我使用缩放器,它可以摆脱它吗?
感谢。