2016-11-07 42 views
2

角型1をTypescriptで使用しようとしています。私は型宣言ファイルをフェッチするためにnpm @typesを使用しています。 Webstormは型定義を認識し、私はtscを実行すると、出力は以下の通りです:モジュール 'angular'にエクスポートされたメンバ 'material'がありません

node_modules/@types/angular-material/index.d.ts(6,26): error TS2307: Cannot find module 'angular'. 
node_modules/@types/angular-ui-router/index.d.ts(6,26): error TS2307: Cannot find module 'angular'. 
src/core.config.ts(9,68): error TS2305: Module 'angular' has no exported member 'ui'. 
src/core.config.ts(19,16): error TS2339: Property 'name' does not exist on type '{}'. 
src/core.config.ts(37,43): error TS2305: Module 'angular' has no exported member 'ui'. 
src/core.controller.ts(6,80): error TS2305: Module 'angular' has no exported member 'material'. 

マイTSconfigのファイルは次のようになります。

{ 
"compilerOptions": { 
    "module": "system", 
    "noImplicitAny": true, 
    "removeComments": true, 
    "preserveConstEnums": true, 
    "outFile": "out.min.js", 
    "sourceMap": true, 
    "typeRoots": [ 
    "./node_modules/@types" 
    ], 
"types": [ 
    "angular", 
    "angular-material", 
    "angular-ui-router" 
] 
}, 
"files": ["file.ts"] 
} 

私が定義について(/// <reference path="node_modules/@types/angular-material/index.d.ts" />)参照パスを追加しようとしましたファイルには役立ちませんでした。私は何かが間違っているように感じるが、私は何を見つけることができませんでした。誰かが私が行方不明を知っていますか?

編集

私は私が私のtsconfig.jsonファイルを使用してコンパイルするときに私はエラーのみを取得することが分かりました。 tsc core.config.tsを使用すると、エラーはありませんが、私のtsconfigファイルの["core.config.ts"]ファイルでは、上記のエラーと同じエラーが表示されます。

+0

'@ types/angular'をインストールしましたか? – goenning

+0

はい、私はそれをインストールしました。アンインストールしてもう一度インストールしようとしましたが、それもうまくいきませんでした。 – KrisM

答えて

3

変更

// <reference path="node_modules/@types/angular-material/index.d.ts" /> 

/// <reference types="angular" /> 
/// <reference types="angular-material" /> 

し、あなたが参照している様々なモジュールのための追加の行を追加します。

残念ながら、これについての公式のドキュメントはまだありませんが、それは予定リストにあります。 ... あなたが

/// <reference types="angular" /> 
/// <reference types="angular-material" /> 
import * as angular form "angular" 
import {material, extend, IPromise, IDeferred} from "angular"; 

のような、それが表示されるように角度をインポートする必要があります( "/// ...")

angular.extend(...); 
extend(); // Note: that is a shortcut to angular.extend; see the second import 
private $mdDialog: material.IDialogService; 
var service: (value: any): IPromise<any> {...} 

を参照する定義をモジュールに加えてhttps://github.com/Microsoft/TypeScript-Handbook/issues/348

+0

こんにちは、お返事いただきありがとうございます。私はこれを使用しようとしましたが、残念ながらそれは動作しませんでした。しかし、私はこれを見つけました:私はtsconfig.jsonファイルを使用してコンパイルするときにのみ発生します。 'tsc core.config.ts'を使うと、エラーはありませんが、私のtsconfigファイルにあるファイル" core.config.ts "で私の質問と同じエラーが出ます。 – KrisM

0

私は入力を使用して、私は同じ問題を抱えていました。これを解決するには 私はちょうど私のtypings.jsonファイル内の角度、素材を追加しました:

その後
{ 
    "globalDependencies": { 
    "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#dc9dabe74a5be62613b17a3605309783a12ff28a", 
    "angular-ui-router": "registry:dt/angular-ui-router#1.1.5+20160707113237", 
    "angular": "registry:dt/angular#1.5.0+20160627105203", 
    "angular-material": "github:DefinitelyTyped/DefinitelyTyped/angular-material/angular-material.d.ts#2d0a1b1502610025bd55ce8eaa48069da8a16c82", 
    "angular-mocks": "github:DefinitelyTyped/DefinitelyTyped/angularjs/angular-mocks.d.ts#dc9dabe74a5be62613b17a3605309783a12ff28a", 
    "jquery": "github:DefinitelyTyped/DefinitelyTyped/jquery/jquery.d.ts#dc9dabe74a5be62613b17a3605309783a12ff28a", 
    "require": "registry:dt/require#2.1.20+20160316155526", 
    "es6-shim": "registry:dt/es6-shim#0.31.2+20160602141504" 
    } 
} 

私は「タイピングがインストール」を実行し、それがすべてです。それがあなたを助けることを願っています。

関連する問題