在Typescript1.5 中,内部模块称作命名空间,外部模块成为模块

一、什么是模块?

模块就是一个或一组功能模块。

  1. 模块在其自身的作用域里执行,而不是在全局作用域里。意味着,模块中的变量、函数、类等在模块外部无法访问,除非通过export形式导出。相应的,如果想使用其他模块中的变量、函数、类、接口等必须使用import导入
  2. 模块是自声明的。两个模块之间的关系通过文件级别上使用imports和exports建立
  3. 模块通过模块加载器去导入其他模块。模块加载器的作用是在执行的时候查找并执行这个模块的所有依赖。Javascript的模块加载器是服务于node.js的CommonJS和服务于web应用的Require.js

二、导出模块

  1. 导出声明:任何声明都可以使用export关键字导出
  2. 导出语句:在文件中使用export导出对应的部分,同时可以重命名
  3. 默认导出:每个模块都可以有且仅有一个default导出

三、导入模块

模块的导入操作与导出一样简单。 可以使用以下import形式之一来导入其它模块中的导出内容。

四、创建模块最佳实践

  1. 尽可能在顶层导出
  2. 如果仅导出单个class或function,使用export default
  3. 明确列出导入的名字

五、命名空间

命名空间是将不同文件或位置的代码通过命名空间约束在一起

Typescript04---模块、命名空间的更多相关文章

  1. oop思维意识,类 模块命名空间,类扩展之继承 、组合、mixin三种模式

    python的书都是讲怎么创建类怎么实例化对象,一般会用使用了,但还不具备这种编程意识.这是从python学习手册第四版节选出来的,书中说oop不仅是一种技术,更是一种经验.学习大神的看法,为什么需要 ...

  2. TypeScript完全解读(26课时)_15.模块和命名空间

    新建文件夹ts-modules 并新建index.ts 在根index.ts内引入 新建a.ts文件 ts在1.5之前有两个概念一个是内部模块,一个是外部模块,因为在1.5之前es6的标准还没有提出 ...

  3. python基础之包、模块、命名空间和作用域

    一.模块介绍 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能. 模块的作用: (1)从文件级别组织程序,更方便管理:随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一 ...

  4. 【Python五篇慢慢弹(4)】模块异常谈python

    模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondo ...

  5. python学习笔记系列----(四)模块

    这一章主要是叙述了python模块的概念以及包的概念,还有它们的使用:收获也是大大的. 提起python文件,经常会听到3个名词,python脚本,python模块,python包.脚本的概念是从py ...

  6. Python2.5-原理之模块

    此部分来自于<Python学习手册>第五部分 一.模块(21章) 模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用..模块往往对应于python程序文件.每个文件就是一个模 ...

  7. python 深入模块和包

    模块可以包含可执行语句以及函数的定义. 这些语句通常用于初始化模块. 它们只在 第一次 导入时执行.只在第一次导入的时候执行,第一次.妈蛋的第一次...后面再次导入就不执行了. [1](如果文件以脚本 ...

  8. ch2-3:模块的使用-window环境

    导入模块:import 模块名 完成如下工作: 1.编写一个小程序testmodule.py,导入新建的模块nester,并定义一个小列表cast,然后使用调用模块中的函数打印列表到屏幕上: impo ...

  9. Python模块学习

    6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made ...

  10. 深入浅出ES6(十六):模块 Modules

    作者 Jason Orendorff  github主页  https://github.com/jorendorff 早在2007年我刚加入Mozilla的JavaScript团队的时候广为流传一个 ...

随机推荐

  1. sql 根据身份证号码计算年龄

    ,), GETDATE()) / 365.25) from ConstructionInfo

  2. python sorted函数多条件排序是怎么回事

    首先,要知道sorted 内部实现使用了归并排序,而归并排序是稳定的排序,就是说当元素比不出大小时,其相对位置是不变的. 那么,利用稳定排序的特性,key函数有几个返回值就排序几次,先排序次要条件,后 ...

  3. Matlab安装完成后,出现错误licensing error:-8523的解决方法

    Matlab2018安装成功后,打开出现licensing error:-8523解决方法 https://blog.csdn.net/qq_41634276/article/details/8000 ...

  4. TF用法指导

    一.变量 1 .tf.Variables() 功能:创建变量 2.tf.get_variable() 功能:创建变量,注意和上面的区别 3.tf.variable_scope() 功能:其实只要记住一 ...

  5. python3 动态import

    有些情况下,需要动态的替换引入的包 1.常用的import方法 import platform import os 2.__import__ 动态引用 loop_manager = __import_ ...

  6. .Net Core配置文件介绍

    Net Core中的配置文件介绍 1 简单回顾.Net Framework配置文件 .Net Core中的配置文件操作较.Net Framework有了很大的改动.介绍.Net Core中配置文件操作 ...

  7. 制作OpenStack使用的windows镜像

    1 安装vmware14 2 创建ubuntu-desktop-16.04虚拟机 选择自定义安装 选择ubuntu-16.04-desktop.iso 内存要大于2G,推荐4G. 磁盘要大于50G 关 ...

  8. [译]Ocelot - Caching

    原文 Ocelot支持基本的缓存,目前Ocelot的缓存是通过CacheManager project实现的. 下面的示例展示了如何启用缓存: s.AddOcelot() .AddCacheManag ...

  9. git体验

    (1)git初始化配置#配置用户名git config --global user.name "azcode"#配置邮箱git config --global user.email ...

  10. count

    select deptno as 部门,count(*) as 人数from emp group by deptno;  --统计各个部门的人数