TypeScript的命名空间-NameSpace

本文介绍了如何在TypeScript中使用命名空间(NameSpace)来管理全局变量,避免污染全局作用域。通过实例展示了从创建package.json、tsconfig.json,到编写page.ts和components.ts,并配置AMD模块和合并输出,详细解释了命名空间的使用方法和优势。同时,探讨了命名空间的嵌套以及在实际项目中的应用,帮助理解其在代码组织和封装上的作用。
摘要由CSDN通过智能技术生成

初识TypeScript的命名空间-NameSpace

新建个TSWeb文件夹,在VScode中打开文件夹,新建终端,在终端中输入

// 生成package.json
npm init -y // -y 所有的配置都选择默认的

再运行生成tsconfig.json

ts -init

创建一个入口文件:index.html
完成配置
在这里插入图片描述
在这里插入图片描述
在src中创建page.ts,写入
在这里插入图片描述
在终端中运行 编译生成page.js

tsc

生成代码如下
在这里插入图片描述
打开文件夹和浏览器,把index.html拖拽到浏览器中,显示如下:
在这里插入图片描述

这里面代码中有个问题:都是全局变量。
代码量一大,这样操作会使全局变量过多,造成全局变量污染。
所以我们在就要使用-NameSpace
在page.ts 中用

namespace Home{
	class Header{.........}
	class Content{.........}
	class Footer{............}
	export c;ass Page{........} //暴露一个
}

再运行,再次编译更新page.js

tsc

在浏览器中F12打开console在里面输入查找Home.Footer、Home.Page
可以看到Home.Footer是显示undefined的,只有Home.Page是有显示的
在这里插入图片描述

namespace的好处: 让我们的全局变量变得很少,实现了基本的封装,减少了全局变量的污染。

深入了解TypeScript的命名空间-NameSpace

在src中新建一个components.ts
在这里插入图片描述
page.ts要修改一下
在这里插入图片描述
在index.html 中引用多个script会造成代码沉余,所以去tsconfig.json进行两个配置

"module": "amd", //把commonjs改成amd,因为commonjs不支持 outFile
"outFile": "./build/page.js",  //多个ts文件编译生成同一个json文件

命名空间也可进行嵌套
在这里插入图片描述

在终端运行编译

tsc

刷新浏览器页面,在控制台中可显示
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值