/*
其实前面一些都是废话,因为都和C#类似.从模块开始就需要深入的去理解了
文档反复声明了 内部模块现在称做 命令空间 外部模块称为 模块
模块在其自身的作用域里执行,而不是在全局作用域里,也就是说模块内的变量函数类等在模
块外部是不可见的.
模块是自声明的,两个模块之间的关系是通过文件级别上使用 imports exports建立
模块使用模块加载器去导入其它的模块,像CommonJS、Require.JS 作用是执行此模块代码前
去查找并执行这个模块的做有依赖
*/ /*
说了这么多,什么才是一个模块? 上面的话比较官方,通常我们的模块是一个ts文件,但是也
不是说一个文件就是一个真正意义上的模块,前提是文件中包含任何顶级的import或者export
才是一个模块
*/ /*
从最基础的导出开始
在一个模块中,我们要将需要被访问访问的 类、函数等使用 export关键字导出
*/
interface interfaceExport { };
class classExport { };
//进行导出 如果对名称不满意可以使用 as 语法重命名 比如 classExport as newName export { interfaceExport, classExport as newClassName}; /*
当我们需要在另一个模块中只导出其它模块的部分内容, 可以使用重新导出
语法 exprot from '模块名称' 直译就是导出一个东西,但是它不是我的,它from自xx模块
export { interfaceExport : newinterfaceExport } from "./模块";
export * from "模块名称" * 代表所有内容
* 默认导出,模块可以有一个且只能有一个默认导出.default 的好处在哪里?
对默认的导出在导入时可以忽略其名称 语法
export default
*/ /*
导入也是非常简单的,使用 import 可以轻松进行导入,格式 import {名称} from '模块'
* 如果模块内导出的太多, 一个一个的进行improt是非常麻烦的可以使用
import * as NewName from '模块'
意思是导入'模块'中所有被导出的,NewName做为它们的根
*/ /*
需要嗨皮的是,导入是懒加载的.也就是只有在使用的时候才去真正的加载,对于一些导入了
但是并没有进行使用的是不会去加载的,这无疑提高了性能
*/ //简单提一下,文件可以定义成.D.TS文件,导出的时候可以自定义名称 declare model "Name"{ export ....}
/*
相信对于命名空间NameSpaced大家都很熟悉,可以很方便的管理我们的类.现在TypeScript中
也有了命名空间
一般来说命名空间是无需使用的,因为我们有模块的概念,一个文件就是一个模块,一般来说这
是够用的
但是随着功能越来越多放到一个文档是不合适的,我们需要拆分成不同的文件.这时候使用命
名空间管理是最佳选择
*/
--- 命名空间.ts
namespace testNameSpace {
export function fun1() { };
}
上面是命名空间.ts下的内容,里面有一个命名空间 testNameSpace ---命名空间2.ts
namespace testNameSpace {
export function fun2() { };
}
然后在命名空间2.ts下继续在testNameSpace命名空间下添加方法 ---test.ts
//使用testNameSpace空间下的fun1方法
testNameSpace.fun1();
实际上命名空间是一个普通的JavaScript对象,并且可以在多个文件使用,不需要导入。这听起来就是全局的,所以命名空间是不被推荐使用的,模块才是真爱

TypeScript 素描 - 模块、命名空间的更多相关文章

  1. TypeScript 素描 - 模块解析、声明合并

    模块解析 模块解析有两种方式 相对方式  也就是以/或 ./或-/开头的,比如import jq  from "/jq" 非相对方式  比如 import model  from ...

  2. TypeScript 素描 - 模块

    /* 其实前面一些都是废话,因为都和C#类似.从模块开始就需要深入的去理解了 文档反复声明了 内部模块现在称做 命令空间 外部模块称为 模块 模块在其自身的作用域里执行,而不是在全局作用域里,也就是说 ...

  3. TypeScript Modules(模块)

    本文概述了TypeScript中如何使用模块以各种方式来组织代码.我们将涵括内部和外部的模块,并且讨论他们在适合在何时使用和怎么使用.我们也会学习一些如何使用外部模块的高级技巧,并且解决一些当我们使用 ...

  4. TypeScript 素描-基础类型

    博文读自 TypeScript 官方文档而来,不具有学习性,仅是本人学习时记录以供日后翻阅 ,有学习TypeScript的朋友还请去看更为详细的官方文档 TypeScript官网文档中的基础类型, T ...

  5. typescript - 7.模块

    我们可以把一些公共的功能单独抽离成一个文件作为一个模块. 模块里面的变量 函数 类等默认是私有的,如果我们要在外部访问模块里面的数据(变量.函数.类), 我们需要通过export暴露模块里面的数据(变 ...

  6. TypeScript入门九:TypeScript的模块

    关于TypeScript模块的基本使用方法 Ts的模块化语法与ES6的语法基本是一致(关于一些细节特性没有测试,请各自自行测试),然后再由tsconfig.json的module字段来描述转码类型,具 ...

  7. TypeScript 之 模块

    https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Modules.html 外部模块简写 外部模块简写:declare ...

  8. TypeScript 素描 - 类

    本文虽然是学自官方教程而来,但是也融入了自己的理解,而且对官方的例子做了一些修改 /* 类 面向对象编程的一大核心 使用C#.Java进行编程的朋友肯定已经是不能够再熟悉了 TypeScript的类与 ...

  9. TypeScript 素描 - 接口

    /* 接口 C#写多了,接口也自然也是理解的.不过TypeScript中的接口与 C#中的还是有些区别的 接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约 */ //为方法的参数做契约 i ...

随机推荐

  1. Capslock+ 键盘党都爱的高效利器 - 让 Windows 快捷键操作更加灵活强大

    Capslock+ 键盘党都爱的高效利器 - 让 Windows 快捷键操作更加灵活强大  优化辅助    Windows   2016-06-05 91,167   微博微信QQ空间印象有道邮件   ...

  2. oracle行转列、列转行、连续日期数字实现方式及mybatis下实现方式

    转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9977591.html 九月份复习,十月份考试,十月底一直没法收心,赶在十一初 由于不可抗拒的原因又不得不重新找 ...

  3. Python面向对象编程指南

    Python面向对象编程指南(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1SbD4gum4yGcUruH9icTPCQ 提取码:fzk5 复制这段内容后打开百度网 ...

  4. html2canvas在Vue项目踩坑-生成图片偏移不完整

    背景 最近做一个Vue项目需求是用户长按保存图片,页面的数据是根据不同id动态生成的,页面渲染完生成内容图片让用户长按保存的时候,把整个页面都保存起来. 在项目遇到的坑是图片能生成,可是生成的图片总是 ...

  5. socket error:10053

    系统提示:10053,由于超时或其它失败,连接中止 服务端和客户端并没有出现连接错误或主动关闭连接 发生这个错误的原因往往是连接上了,但是长时间没有通信,所以连接被挂起了 防止的办法就是自己设计心跳包 ...

  6. emoji 表情: MySQL如何支持 emoji 表情

    https://www.cnblogs.com/jentary/p/6655471.html 修改数据库字符集: ALTER DATABASE database_name CHARACTER SET ...

  7. node01

    ---恢复内容开始--- 1.node初体验 安装完成node,写好相应的js代码后,在cmd中node 文件名即可完成编译执行过程. 2.尝试使用node搭建一个简单服务器 //引入http模块 c ...

  8. PHP 反射的简单使用

    反射机制简介 之前已经介绍过Java反射机制的简单使用,所有的反射机制的思想作用等都是类似的,下面就一起来了解一下PHP反射机制. 个人理解:反射机制就是可以利用类名或者一个类的对象来获取关于这个类的 ...

  9. 29 ArcMap许可服务器点击授权后无法进入下一步

    系统描述:Windows server 2008 R2  ArcMap版本:10.6 系统要求各项都满足,包括补丁包都有,没有杀毒软件,ArcMap软件能安装上,但是到授权那步出问题 系统要求http ...

  10. 约瑟夫环问题 --链表 C语言

    总共有m个人在圆桌上,依次报名,数到第n个数的人退出圆桌,下一个由退出人下一个开始继续报名,循环直到最后一个停止将编号输出 #include <stdio.h>#include <s ...