当对象已经有定义时,我应该将typescript定义放在哪里,如何编写它们
对于这个问题,我很抱歉,因为我知道答案肯定存在于某个地方,但我认为我对Typescript的理解不够深入,甚至不知道我应该搜索什么 我的问题是,我添加了一个名为当对象已经有定义时,我应该将typescript定义放在哪里,如何编写它们,typescript,Typescript,对于这个问题,我很抱歉,因为我知道答案肯定存在于某个地方,但我认为我对Typescript的理解不够深入,甚至不知道我应该搜索什么 我的问题是,我添加了一个名为typeahead的jquery插件,以及一个名为bound的窗口对象上的全局变量,用于与我的c#wrapper应用程序通信 当我编译时,这些项会导致错误,我想消除这些错误,那么我应该怎么做呢?我想也许我应该为这些项目创建定义,但我找不到任何文档来说明如何创建,因为jquery已经有了定义,因为我安装了jquery中的typings定义,
typeahead
的jquery插件,以及一个名为bound
的窗口对象上的全局变量,用于与我的c#wrapper应用程序通信
当我编译时,这些项会导致错误,我想消除这些错误,那么我应该怎么做呢?我想也许我应该为这些项目创建定义,但我找不到任何文档来说明如何创建,因为jquery
已经有了定义,因为我安装了jquery
中的typings
定义,而且似乎窗口
对象也已经有了定义
以下是我得到的错误:
Property 'typeahead' does not exist on type 'JQuery'.
Property 'bound' does not exist on type 'Window'.
那么,我该怎么做才能使错误停止?如果我要写定义,那么定义应该放在哪里,如何为已经有定义的对象写定义
我尝试在项目的根目录中创建一个名为index.d.ts
的文件,但当我创建该文件时,没有代码,就出现了以下错误:
WARNING in ./src/index.d.ts
Module build failed: Error: Debug Failure. False expression: Output generation failed
我尝试添加接口语句、模块声明语句和命名空间声明语句,但没有任何东西可以消除错误。文件名错了吗?文件应该在某个位置吗
我在这里读过文件:
但我看不到任何关于定义的内容,也看不到如何为已经存在的对象编写定义
提前感谢任何人能给予的帮助
编辑
明确键入,也不包含我正在使用的typeahead库的定义,也不包含我创建的全局
绑定的对象的定义。我需要了解如何手动消除这些错误。您可以从中获取typeahead的定义,然后您可以将其添加到使用它的任何文件:
/// <reference path="./pathFromFile/typeahead.d.ts" />
//
如果要创建或扩展JS库的定义,必须创建.d.ts文件,只要引用路径正确,该文件就可以放在任何地方。我使用了它,这对我很有帮助。DefiniteTyped没有我正在使用的typeahead库的定义,也没有我创建的全局绑定的
对象的定义。您正在使用哪个版本的typeahead,或者您需要自定义的定义文件吗?我放的链接是0.11.1。就声明全局对象而言,添加了TypeScript 1.8,这听起来像您正在寻找的。我正在使用一个名为bootstrap-3-typeahead的库,版本4.0.1。你放的链接是针对一个名为“Twitter Typeahead”的库的。你发布的确定类型的链接不相关,因为我使用的库不在那里,但你发布的指南链接正是我要找的。谢谢这位博主让我不知所措:“但是当TypeScript问世时——哇,太神奇了,几乎像C#或Java!”