TypeScript是编译器 也是一种规范。
通过tsconfig.json可以自定义开发配置,这里有一份官方JSON配置文件,可作为参考。
逼不得已,又熟悉了一波CommonJS规范,这里必须得感谢像阮一峰这样的大佬们(先驱们),在中国互联网迅速发展的大环境中,这些为我们指路的人,是值得尊敬的。
温故而知新,获益匪浅。CommonJS的规范制定是很有必要的,对于服务端(NodeJS)来说,它有着稳定的运行环境,而CommonJS的好处是让代码文件(JS文件)遵循它的规则,从读取到回收,都遵循一套近乎完美的极致,被高效的利用。
引CommonJS规范,做下重点摘录,方便回头翻看。
一、概述
- 每个模块都是一个局部环境,在模块内定义的变量、函数、类,都是私有的,在其他文件内不可见。
- 如果想在多个文件分享变量,必须定义为global对象的属性。
![6c16c2c6aa91cb39f14e0e8178b4ee45.png](https://i-blog.csdnimg.cn/blog_migrate/394e8bdb5024260014a666e34a998428.jpeg)
这样可以被全局引用,但是这个写法官方不推荐。我想不应该在单个模块文件中去定义这种全局变量。 如果真的有需要的话,可以统一一份全局文件或者环境变量去使用,方便维护。知乎上有专门针对这个问题的探讨,可作参考,不多赘述。
3.模块有“入口”和“出口”:模块可以比喻为一个超市,超市从批发市场引入(require)了一堆商品来售卖(export),人们从超市内去获取(require)这些商品。
4.CommonJS实现了以下几点
(1) 所有代码都运行在模块作用域,不会污染全局作用域。(源码中,module外层是一个函数,执行这个函数会导出exports对象)
(2) 模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。(所以代码文件有改动的话,是需要重新