我正在与angular-cli(1.0.0-beta.10)的角2项目,并希望使用此库(https://github.com/Glench/fuzzyset.js)。当我尝试导入它时,Typescript不接受它作为模块,我不知道为什么。它给我Cannot find module
错误。Typescript:无法找到模块角
作为一种变通方法我试图将其声明为模块中我system-config.ts
文件
declare module "fuzzyset" {}
我喜欢这个
import * as FuzzySet from 'fuzzyset';
导入它在我的组件之一,并添加到系统配置:
System.config({
paths: {
// paths serve as alias
'npm:': 'vendor/'
},
map: {
'fuzzyset': 'npm:fuzzyset.js/index.js',
},
packages: cliSystemConfigPackages
});
但现在它给出Cannot invoke an expression whose type lacks a call signature.
为了解决这个错误,我改变了模块声明如下:
declare module "fuzzyset" {
export function FuzzySet(options?:any): any;
}
这并不工作的方式,一切都被编译,但后来我得到运行时错误如下: Browser console errors
任何人都可以帮助我吗? 感谢提前:)
感谢您的答复。你在使用Angular 2吗?因为它不适合我,它一直给我'找不到模块' – Kushina
是的。 Angular 2.1.0。检查config.js。使用角/芯NPM,其最新的是2.1.0 - 参见[此](https://www.npmjs.com/package/@angular/core)。您是否尝试删除该声明模块,并仅从'fuzzyset'中导入FuzzySet。我担心,如果你使得导入一个简单的JavaScript导出模块变得复杂。 – Mahesh
感谢您的答案,但它不适合我。 – Kushina