李恒道 发表于 2022-8-12 00:02:59

typescript allowUmdGlobalAccess属性

allowUmdGlobalAccess为了控制ts中模块是否可以访问umd变量
如我们安装一个loadsh的类型库
npm i @types/lodash
并关闭该属性
![图片.png](data/attachment/forum/202208/12/000012pe7dooc0l0r0ay3o.png)
写一点代码,可以发现这时是没有报错的
![图片.png](data/attachment/forum/202208/12/000004r1obo4oat18jaay4.png)
为什么?
可以查一下官方资料
https://www.typescriptlang.org/tsconfig#allowUmdGlobalAccess
```
When set to true, allowUmdGlobalAccess lets you access UMD exports as globals from inside module files. A module file is a file that has imports and/or exports. Without this flag, using an export from a UMD module requires an import declaration.

An example use case for this flag would be a web project where you know the particular library (like jQuery or Lodash) will always be available at runtime, but you can’t access it with an import.
```
当设置为真时,allowUmdGlobalAccess 让你让从内部模块文件访问umd导出,一个模块文件是拥有import或export。
所以我们可以知道因为我们没有使用export等语句
所以才没有触发这个属性
我们加一个export
可以发现触发了
![图片.png](data/attachment/forum/202208/12/000237kug6dp6soszs2cld.png)
![图片.png](data/attachment/forum/202208/12/000242j72ti4k4ktakkkzi.png)
该属性的意义就在于允许模块内访问umd模块
而判断umd模块则根据dts声明
页: [1]
查看完整版本: typescript allowUmdGlobalAccess属性