TypeScript在LayaAir 1.X和2.X中对待module和namespace的异同,求2.x使用自定义namespace的方法(module已经找到方法)

我发现1.x版本把每个ts编译成为一个js。并且namespace和module暴露在全局空间里,不用import就可以namespace.XXX和module.xxx引用。

我还发现2.x版本使用了高大上的gulpfile编译,通过插件browserify把所有的js汇集编译成为一个单一的bundle.js,而且还不污染全局变量空间,十分支持。

但是1.x和2.x的文档关于typescript如何互相引用module, namespace都不完善,内部开发人员应该是action script技术人员占绝对主导地位的,typescript/javascript应该是边缘角色,所以不重视typescript的文档,说不上话。

我探索了好久,发现2.x的typescript分文件组织代码的方法,如下:
a.ts
------------------------------
module AM{
export class AC
{
public static myname:string = "I'm AC!";
}
}
export default AM;

b.ts
----------------------------
module AM{
export class BC
{
public static myname:string = "I'm BC!";
}
}
export default AM;

c.ts
--------------------------
import AM from './a'; //这一句LayaAir IDE 2.0会自动导入,(也可能是我安装了VSCode的Auto Import的功能实现的)
import BM from './b';
window.onload = ()=>{
console.log(AM.AC.myname);
console.log(BM.BC.myname);
console.log(Laya.Browser.clientWidth);
}

实际测试能完美运行。

我就一个小疑问,如果我想用namepsace而非module声明AM, BM,我就是坐出痔疮也找不到使用namespace声明的方法。

可能是我水平有限,那些英文(指TypeScript,gulpfile,browserify)的文档又臭又长,我是做游戏的,不是研究英文和编程语言特性的(这不产出利润),LayaAir+TypeScript+gulpfile+browserify我接触还不到两周,一脸懵逼。

求各位大侠和官方隐士支招。感谢感谢。

==================================================
●●●●我的问题是,在LayaAir 2.x中如何使用typescript的自定义namespace?●●●●
是不是namespace被gulpfile, browserify啃了?
==================================================
已邀请:

Laya_Aaron

赞同来自:

namespace 和 module 一样的,类似的,替换位置就可以。

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作