Машинописный текст с angular2 и грубой ошибкой TS2304: не удается найти имя
В моем проекте angular2 я использую grunt для автоматизации компиляции моих машинописных файлов.
Все хорошо, мои файлы компилируются, но я всегда получаю ошибки
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, но не добился успеха.
Не знаю почему?
Пожалуйста, помогите мне исправить это ниже, мой main.ts and 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));
файл 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 {
}
1 ответ
Следующее неправильно на нескольких уровнях
(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
}
Ваш файл является модулем. Вам не нужно iffee. И вам не нужно использовать window
, Подробнее: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
Также вы не можете использовать http
во всем мире. Вы должны позволить угловой вводить его для вашего.
Также ng
только для информации о типе и фактически не существует во время выполнения.