使用 tsc 对 javascript 进行类型检查时,如何声明全局变量?

Pri*_*ett 5 javascript types tsc

我正在尝试使用 TypeScript 编译器tsc对注释良好的 JavaScript 文件进行类型检查。该文件使用了几个通过其他脚本加载的全局变量,为了简单起见,我们将仅使用一个全局变量L(用于 Leaflet)。

首先,我运行命令:

tsc --allowJs --checkJs mysource.js --outfile out.js --lib dom,es2015
Run Code Online (Sandbox Code Playgroud)

产生输出:

mysource.js:15:15 - error TS2304: Cannot find name 'L'.

15 const myMap = L.map('mapid')
Run Code Online (Sandbox Code Playgroud)

在本例中L,是我在 HTML 文件中导入 Leaflet JavaScript 代码时定义的全局变量。

其他工具(例如StandardJS)提供了声明全局变量的语法,但我不知道如何使用tsc. 在标准的情况下,我只有一行内容:

/* global L */
Run Code Online (Sandbox Code Playgroud)

需要明确的是,我使用它并不是tsc因为我使用 TypeScript,而是因为它能够对 JavaScript 源文件进行类型检查。我只是想要另一次检查以确保我的类型在 JavaScript 文件中匹配。