博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeScript 素描 - 模块、命名空间
阅读量:6530 次
发布时间:2019-06-24

本文共 1685 字,大约阅读时间需要 5 分钟。

 

/*其实前面一些都是废话,因为都和C#类似.从模块开始就需要深入的去理解了文档反复声明了 内部模块现在称做 命令空间  外部模块称为 模块模块在其自身的作用域里执行,而不是在全局作用域里,也就是说模块内的变量函数类等在模块外部是不可见的.模块是自声明的,两个模块之间的关系是通过文件级别上使用 imports exports建立模块使用模块加载器去导入其它的模块,像CommonJS、Require.JS 作用是执行此模块代码前去查找并执行这个模块的做有依赖*//*说了这么多,什么才是一个模块? 上面的话比较官方,通常我们的模块是一个ts文件,但是也不是说一个文件就是一个真正意义上的模块,前提是文件中包含任何顶级的import或者export才是一个模块*//*从最基础的导出开始在一个模块中,我们要将需要被访问访问的 类、函数等使用 export关键字导出*/interface interfaceExport { };class classExport { };//进行导出  如果对名称不满意可以使用 as 语法重命名 比如 classExport  as newNameexport { 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.tsnamespace testNameSpace {    export function fun2() { };}然后在命名空间2.ts下继续在testNameSpace命名空间下添加方法---test.ts//使用testNameSpace空间下的fun1方法testNameSpace.fun1();实际上命名空间是一个普通的JavaScript对象,并且可以在多个文件使用,不需要导入。这听起来就是全局的,所以命名空间是不被推荐使用的,模块才是真爱

转载于:https://www.cnblogs.com/LiangSW/p/6263359.html

你可能感兴趣的文章
redis 下载地址(window)
查看>>
为linux主机安装应用程序
查看>>
我的友情链接
查看>>
ScollView pageView
查看>>
NoSQL之Redis - CentOS 6.5安装测试
查看>>
linux获取系统时间
查看>>
1.3. 结论
查看>>
配置Tomcat6.0解决下载文件名乱码
查看>>
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
查看>>
PairOfDice示例
查看>>
Myisamchk小工具使用手册
查看>>
Android提取安装的apk文件
查看>>
修改Exchange2013密码修改页面
查看>>
Android资源和R.java文件详解《一》
查看>>
使用友盟集成第三方分享和登陆支付
查看>>
querySelector、querySelectorAll和CSS3 Selectors一起来
查看>>
BeanShell中switch语句
查看>>
windows系统提权基础小命令总结
查看>>
李国庆说的有点道理 京东明年Q1上市是个好时机
查看>>
DNS域名解析服务之BIND服务
查看>>