我跑了npm install typeahead
和npm install @types/typeahead
,不过我是
将typeahead
导入我的tsx
模块时遇到问题:
import * as React from "react";
import "typeahead";
interface IReactTypeaheadInputProps {
id: string,
name: string,
url: string,
searchField: string,
}
export class ReactTypeaheadInput extends React.Component<IReactTypeaheadInputProps, {}>{
componentDidMount(): void {
.
.
.
$("#" + this.props.id).typeahead<string>(typeaheadOptions, datasets);
}
render() {
return (
<input id={this.props.id} name={this.props.name}/>
);
}
}
我试过了:
在我的webpack.config.js文件中添加别名,如下所示:
解决:{ 别名:{ typeahead:&#39; typeahead.js&#39; } }
当我使用import "typeahead"
时,我得到了
未捕获的TypeError:$(...)。typeahead不是函数
当我使用import * as typeahead from "typeahead";
时,我得到了
未捕获错误:无法找到模块&#34;预先输入&#34;
我正在获得整个Twitter.Typeahead
命名空间的智能感知(我使用VS 2017)。但是我怀疑npm typeahead包不是官方的,因为它是旧版本,文件名是typeahead.js
而不是index.js
文件夹中的node_modules
。
我已尝试手动添加较新版本,但结果相同。