Typescript学习笔记(五) 模块机制

javascript从es5之前都缺少一种模块机制,无法通过js引入文件,于是requirejs等等的加载器应运而生。这些加载器的使用也并不统一,产生了amd,commonjs,umd等等的规范,各有所长,直到es6的发布,js自身引入的模块机制,将会在以后逐渐被应用起来。

Typescrit的模块机制与es6的模块基本类似,也提供了转换为amd,es6,umd,commonjs,system的转换,一会我们通过一个简单的例子来运行一下ts的模块。

ts特殊的内联标签。

///  

三个斜线,reference标签,path指向引入的文件,引入的文件呢,需要定义一个命名空间来引用定义的东西。

revence.ts

 namespace Validation {
    const ac = "abc";
    export  function a(){
        console.log("module be loaded");
    }
}

定义一个名为Validation的命名空间,导出用export导出。这里Validation下的a函数被导出,引用的时候就可以用Validation.a()来引用它。

text.ts

///  
Validation.a();

main文件是这个text.ts,引用了revence文件。编译器怎么编译它呢?

两种方法:一,把所有的输入文件编译为一个输出文件,需要使用--outFile标记:

tsc text.ts --outFile a.js  

这样输出文件都会在a.js中,网页script引入了。

    二,我们可以编译每一个文件(默认方式),那么每个源文件都会对应生成一个JavaScript文件。 然后,在页面上通过

你可能感兴趣的:(Typescript学习笔记(五) 模块机制)