最近在学ts,对于全局变量的这块有点不太理解。比如原来的 node 中的这样一个表达式
global.sql = require('./tools/mysql').sql;
这样就可以定义一个全局变量了。
而在ts中应该怎样定义这个sql全局变量呢?
最近在学ts,对于全局变量的这块有点不太理解。比如原来的 node 中的这样一个表达式
global.sql = require('./tools/mysql').sql;
这样就可以定义一个全局变量了。
而在ts中应该怎样定义这个sql全局变量呢?
5 回答4.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.2k 阅读
首先,TypeScript不鼓励写全局变量,鼓励用模块系统。因此TS没有,也不会有方便的写global的方式。
其次,TypeScript的模块系统已经换成ES标准的
import
/export
了,不应该继续用require
。然后回答你的问题吧,定义全局变量的方式是
在sql.ts里面写
新建一个sql.d.ts,放到任何一个TS会读取的位置(项目里/include/lib),里面写
项目内的所有文件都能自动找到这个声明。(不鼓励这种写法,但是评论里居然真的有人问该怎么用……那就补全一点吧)
但是我推荐的做法是,在每个需要用到sql的地方都
这样也不用担心会不会有其他人把
sql
覆盖掉。如果这种util太多,应该单独抽出来