我对与lib.d.ts合并感到困惑。我正在尝试向Navigator添加属性。我想我需要合并在lib.d.ts中声明的Navigator接口。我使用的是TS 2.0.6。
这是我的代码:
let lang = navigator.language || navigator.userLanguage;
产生此错误:
Property' userLanguage'在' Navigator'。
类型中不存在
我尝试以这种方式进行合并:
interface Navigator {
userLanguage: string;
}
但是,仍然找不到userLanguage属性......
有人可以帮我理解我可以在何处以及如何与lib.d.ts声明合并?
感谢您
答案 0 :(得分:2)
原来我没有意识到我必须创建一个带有界面的navigator.d.ts文件。在我的项目中创建该文件后,错误消失了。
我不需要使用///<参考......
答案 1 :(得分:1)
创建类型定义文件的另一种方法,例如在接受的答案中,是使用字符串文字访问“ userLanguage”属性,如下所示:
navigator['userLanguage'] //=> OK
navigator.userLanguage //=> TS2339: Property ‘userLanguage’ does not exist on type ‘Navigator’