导入角度模拟以防止TS错误的正确方法是什么?

时间:2017-02-02 11:09:26

标签: angularjs typescript2.0 angular-mock

我已经将一个角度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错误?

0 个答案:

没有答案