1.3 typescript的引入与导出

一、目前typescript是可以通过三斜线指令和import进行引入的

三斜线指令是用来标明文件之间的依赖关系,不能当作import使用,当使用export导出命名空间时,在别的模块要使用它,必须使用import引入,下面代码可以使用ts-node App.ts直接运行

示例

//Test.ts
import {Test1} from "./test";

export namespace Test{
    export class C implements Test1.A{
        hello(): void {
            console.log("C")
        }
        say(): void {
            console.log("C")
        }
    }
}

//Test1.ts
export namespace Test1{
    export interface A{
          say(): void;
          hello(): void;
     }
    export class B implements A{
         hello(): void {
              console.log("B")
         }
         say(): void {
              console.log("B")
         }
    }
}

//App.ts
import {Test1} from "./test";
import {Test} from "./run";

new Test1.B().say()
new Test.C().say()

如果把import换成如下指令,则会报错

/// <reference path="test.ts" />
/// <reference path="run.ts" />

需要把namespace前的export去除,然后时候tsc --outFile命令,去编译成js才能运行

修改如下

//Test.ts
/// <reference path="Test.ts" />
 namespace Test{
    export class C implements Test1.A{
        hello(): void {
            console.log("C")
        }
        say(): void {
            console.log("C")
        }
    }
}

//Test1.ts
 namespace Test1{
    export interface A{
          say(): void;
          hello(): void;
     }
    export class B implements A{
         hello(): void {
              console.log("B")
         }
         say(): void {
              console.log("B")
         }
    }
}

//App.ts

/// <reference path="test.ts" />
/// <reference path="run.ts" />

new Test1.B().say()
new Test.C().say()

上述代码不可以用ts-node 直接运行,在命令行输入

tsc --outFile simple.js App.ts

如上命令会生成一个simple.js文件,js文件可以直接使用node simple.js运行

综上,如果是当成模块使用,用import,如果是使用tsc编译成一个js文件,可以使用三斜线指令指明依赖关系,打包到一个js文件中 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值