【发布时间】:2018-07-24 11:20:09
【问题描述】:
在纯 JS 中我有代码
const { _ } = window;
现在我将项目迁移到 Typescript 2.8 并导致错误:
错误 TS2459:类型 'Window' 没有属性 '_' 并且没有字符串索引签名。
tsconfig:
{
'allowJs': true,
'allowSyntheticDefaultImports': true,
"target": "es2017",
"baseUrl": "src",
'resolveJsonModule': true,
'noImplicitAny': false
}
PS:我无法通过代码中的导入来使用 lodash。
【问题讨论】:
-
一种快速而肮脏的方式是
const _ = (window as any)._ as _;,但我不确定这是否是“最好”/“最干净”的方式。 -
@AndyJ 至少它有效。现在我有错误“错误 TS2686:'_' 指的是一个 UMD 全局,但当前文件是一个模块。考虑添加一个导入。”
-
尝试使用
const _ = window["_"]; -
@KoushikChatterjee 首先经过测试 - 不起作用
标签: typescript lodash typescript-typings