错误TS2347:无类型函数调用可能不接受类型参数

时间:2017-09-21 10:14:48

标签: angular typescript lodash

我的$.map('25 Derby Road, , , Nottingham, Nottinghamshire'.split(','),$.trim).filter(Boolean).join(',') 如下:

bar.ts

我的bootstrap.ts如下:

declare var angular:any;
declare var _:any;
declare var $:any;
declare var moment:any;
declare var ng:any;
declare var require:any;

但是当我使用_时如下

/// <reference path="./node_modules/@types/angular/index.d.ts" />
/// <reference path="./node_modules/@types/lodash/index.d.ts" />
/// <reference path="bar.ts" />
.............

它会抛出以下错误:

错误TS2347:无类型函数调用可能不接受类型参数

1 个答案:

答案 0 :(得分:0)

发生这种情况的原因是因为您可能尝试在存在导入指令的情况下获取类型信息,因此在这种情况下使用require本身是不够的。

所以,假设你有

var Promise = require('es6-promise').Promise;

将其替换为:

import es6PromiseLib = require('es6-promise');
var Promise = es6PromiseLib.Promise;

通常,如果要使用类型安全,则使用类型参数。所以你指定它是件好事。