[]module写法的模块无法使用,其他地方使用会报错

module bili{
export class Test{
constructor(){
console.log("Test");
}
}
}
已邀请:

jweilan

赞同来自: zeorro

ts官方说不应该使用命名空间。。。因为他说模块的文件组织已经是一个逻辑分组。。。https://www.tslang.cn/docs/han ... .html

牛唠叨

赞同来自: Chiuan

其实就是那个2.0的啥gulp搞的,命名模块名称不暴露到全局空间去,结果就需要像node服务端代码一样import来import去。
 
前端写过网页的觉得难受到飞起。

 

赞同来自:

demo上传一下这边测一下

177*****949

赞同来自:

请问解决了吗 ?

牛唠叨

赞同来自:

2.x实测可以module
 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);
}

177*****949

赞同来自:

你这个方法有个问题 : 当a类和b类 都使用一个命名空间(模块名称)时 , 其实也是非常的麻烦的 . 不知道对于这一点 , 你是如何处理的 ?

老衲当时慌了

赞同来自:

1563191097532.jpg

 
 
这个是我找到的 一篇介绍 
 
https://typescript.bootcss.com/modules.html


我读了之后 感觉 官网 不希望大家 那样 用namespace  去写   我一直觉得 把 两个类 用同一个namespace 导出是 导出的同一个对象,看了这篇文章 感觉 好像不是这样的

要回复问题请先

商务合作
商务合作