2016-04-06 9 views
0

私のangular2プロジェクトでは、私のtypescriptファイルを自動化するためにgruntを使用しています。すべてがうまくやっている私のファイルがコンパイルされているが、常にエラーにangular2とgruntエラーのTypescript:名前を見つけることができません

app/webapp/ng2/audit_logs/auditLogs.ts(2,3): error TS2304: Cannot find name 'app'. 
app/webapp/ng2/audit_logs/auditLogs.ts(3,3): error TS2304: Cannot find name 'http'. 
app/webapp/ng2/audit_logs/auditLogs.ts(3,10): error TS2304: Cannot find name 'ng'. 
app/webapp/ng2/audit_logs/auditLogs.ts(6,3): error TS2304: Cannot find name 'app'. 
app/webapp/ng2/audit_logs/auditLogs.ts(7,5): error TS2304: Cannot find name 'ng'. 
app/webapp/ng2/main.ts(16,24): error TS2304: Cannot find name 'upgradeAdapter'. 

を取得しています

私はDefinetlytypedを試みたが、成功を得ていないのです。

なぜわからないのですか?間違ってやっているところ

auditLogs.tsが

ファイル

Main.tsが

/// <reference path="../../../node_modules/angular2/typings/browser.d.ts" /> 


var window: any = { 
    giddh: undefined 
}; 

import {UpgradeAdapter} from 'angular2/upgrade'; 

var adapter = new UpgradeAdapter(); 
var app = window.giddh.webApp; 

adapter.bootstrap(document.body, ['giddhWebApp']); 

// downgrade ng2 components to ng1 directives 
app.directive('myApp', upgradeAdapter.downgradeNg2Component(app.AppComponent)); 

を提出私のmain.ts and auditLogs.tsファイルを見てみている以下のこの問題を解決するのに役立つと私に教えてください

(function(giddh: any) { app = giddh.webApp http = ng.http app.AppComponent = ng.core.Component({ selector: 'my-app', templateUrl: '' }).Class({ constructor: function(http: any) { this.test = new test(1020); } }); class test { val: string; constructor(data: any){ this.val = data; } } })(window.giddh || (window.giddh = {})); var window: any = { giddh: undefined } declare var require: any; import {Component} from 'angular2/core'; @Component({ selector: 'my-app', template: '/public/webapp/ng2/audit_logs/audit-logs.html' }) export class AppComponent { } 
+0

私はあなたが動くことを初期化する必要があると思います。 'app' – Subash

答えて

1

レベル

​​

ファイルはモジュールです。あなたは不当なことは必要ありません。また、windowを使用する必要はありません。その他:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

また、httpをグローバルに使用することはできません。あなたはあなたのためにそれを注入する必要があります。

ngタイプ情報のためだけであり、実行時には実際には存在しません。

+1

を使うのではなく、' var app = giddh.webApp'を実行します。どうすれば修正できますか? –

関連する問題