TypeScript如何使用import和namespace

刚接触TypeScript,问的问题比较基础,见笑了。

我现在遇到的问题是:
我有一个GameMain.ts文件在根目录,内容如下:

import Test= test.Test;
class GameMain{
    constructor(){
        new Test();
    }
}
new GameMain();

其中Test这个类,路径是./js/Test.ts
内容如下:

namespace test{
    export class Test{
        constructor(){
             alert("Test");
        }
    }
}

这个时候我执行GameMain.ts 是可以正常运行的,会执行alert("Test")
我测试了几次,只要GameMain.ts import 的类在根目录下都是可以正常引入的。

如果我新建一个Test2.ts,路径是./test2/Test2.ts
内容如下:

namespace test2{
    export class Test2{
        constructor(){
             alert("Test2");
        }
    }
}

我在GameMain.ts 里引入Test2是可以的,但是为什么我在Test.ts里面引入Test2.ts就会报错呢?
示例:

import Test2=test2.Test2;

namespace test{
    export class Test{
        constructor(){
             alert("Test");
        }
    }
}

这个时候报的错 是 "test2 is not defined",是因为我没有正确的使用import么?

我看了很久的官方文档,有关模块和命名空间的一些文档好像没有提到这种情况。

目录结构如下:

clipboard.png

阅读 10.3k
2 个回答
兄弟你这个题没人回答是有原因的,你这个代码看着总是不全的样子,写的也很怪,问得也不清楚。你在export外面加命名空间,我就默认你是要分很多文件来写了吧。那你的引用标签在哪呢。

命名控件

建议重新看一下这一节,如果你是我说的那个意思的话。
如果你就是想自己写一个模块,那外面的命名控件完全没有意义,这样你需要用正宗的import方式来导入它。

模块

大概就是import XXX from XXX,然后如果你没有export default的话,

参数解构

就比a.b这种用起来舒服的多。
不知道有没有误会你什么意思,希望有帮助。

抱歉,基础的语法还不太懂,之前一直在用java,所以用java的思想去理解TypeScript就会有问题。
是我太着急了,多谢你的回答。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏