Day27-TypeScript(TS)的命名空间(Namespace)与模组(Modules)

今天要来带大家认识一下TypeScript(TS)的命名空间(Namespace)与模组(Modules)
最主主要会使用到的原因是为了解决在同个专案内命名相同的问题,
意思是说,
即使在不同档案内,
最後把所有档案编成同一支,
那可能会导致自己与别人命名了同个函式而其中一个被取代,
而导致功能错误的问题,
这时若是使用命名空间与模组便可将每个你想分开的地方分开,
这问题就可以解决了。

模组包含两种,

  • 内部模组(Internal modules)
  • 外部模组(External modules)
    用於档案管理
    并可动态载入到程序中,

而在TS1.5版本之後变更此两种模组命名方式,
内部模组(Internal modules) => 命名空间(Namespace)
外部模组(External modules) => 模组(Modules)

那麽今天先来简单的认识一下命名空间与模组吧。
这两个相似的地方在於
皆用来组织程序码,并避免名称冲突

不同的地方我们用表格来看看,

命名空间(Namespace) 模组(Modules)
全域范围(Global Scope) 有自己的范围(Scope)
适用於小型应用程序,且命名空间定义在专案之中 适用於外部程序库
不须依赖模组载入器 不须依赖模组载入器(ES6以前需要)

注意事项

  • 一个应用程序中,不要混运命名空间与模组。
  • 建议尽量使用模组来取代命名空间,大部分的外部程序库都是包装成模组,以便於共享。
  • 在模组中不要使用命民空间。

今日结语

今天讲的命名空间与模组
相信没接触过的人肯定很陌生,
那今天只是让大家有初步的了解,
之後会再分别介绍,
大家加油加油。


<<:  Day 27 Celery

>>:  Progressive Web App NFC 入门实作 (29)

坚持己见的厉害之处

前阵子托朋友的福,去了富士山第一排露营。露营的好处就是不用想行程,光是准备吃的东西跟睡觉的地方就够忙...

【Day 23】React 关於 Hook(3)

关於 Hook 的方法与实作 useContext useContext 可以使元件跨越层级直接传递...

[进阶指南] 传送 Ref ( Day24)

传送 ref 是一种自动把 ref 从一个 component 传递到它底下的其中一个 child...

Day 16 - 用 canvas 做射击小游戏

import { useEffect, useState, useRef } from "...

Day 06:专案01 - 超简单个人履历05 | CSS版面布局、Flex

昨天讲完的CSS的文字和区块属性後,今天要接续介绍版面布局的属性,以及一个非常好用的布局容器 - F...