我已经将一个角度1项目从TS 1.8更新到TS 2.0,并使用@types/angular-mocks
作为类型定义。目前,我无法确定如何实际导入和使用angular-mocks
module
,而不会出现TS错误。
所有这三种方式实际上都有效(例如,转换后的代码会通过所有测试并在浏览器中无错误地运行),但它们都会导致TS错误
1)
import {module} from 'angular-mocks';
beforeEach(module('blah'));
systemjs config meta:
meta: {
angular: {
format: 'global',
exports: 'angular'
},
'angular-mocks': {
format: 'global',
deps: ['angular']
}
}
TS错误:
error TS2305: Module '"/path/to/node_modules/@types/angular-mocks/index"' has no exported member 'module'.
2)
import * as angular from 'angular-mocks';
beforeEach(angular.mock.module('blah'));
systemjs config meta:
meta: {
angular: {
format: 'global',
exports: 'angular'
},
'angular-mocks': {
format: 'global',
exports: 'angular',
deps: ['angular']
}
}
TS错误:
error TS2339: Property 'mock' does not exist on type 'typeof "/path/to/node_modules/@types/angular...'.
第3)
import 'angular-mocks';
beforeEach(module('blah'));
systemjs config meta:
meta: {
angular: {
format: 'global',
exports: 'angular'
},
'angular-mocks': {
format: 'global',
deps: ['angular']
}
}
TS错误:
error TS2304: Cannot find name 'module'.
问题
所以我想知道正确的方法是什么来防止TS错误?