Sto cercando di importare una classe esterna (scritta in Typescript) in un'altra classe Typescript usando requireJS. Ho usato questa sintassi, ma non capisco perché sto ricevendo un errore di sintassi con questa dichiarazione di importazione:L'importazione del typescript non riesce a risolvere il modulo esterno
Ho anche provato ad utilizzare questo, invece:
import t = module("Controller/TestController");
E' m ottenendo anche lo stesso errore.
L'istruzione import/require sopra riportata è appmod.ts
. Questa è la mia struttura di file:
+Root
+Scripts
+app
-main.ts
-appmod.ts
+Controller
-TestController.ts
ho guardato attraverso la documentazione, e questa linea sembra perfettamente bene a me. Il file TestController.ts esiste nel percorso e le classi sono precedute dalla parola chiave export.
Cosa c'è di sbagliato in questa linea?
Ecco come il mio TestController.ts aspetto: definizione AngularJS
/// <reference path="../typings/angularjs/angular.d.ts" />
module testApp.Controller {
export interface ITestScope extends ng.IScope {
helloString:string;
}
export class TestController {
public static $inject = [
"$scope"
];
constructor(private $scope: ITestScope) {
this.$scope.helloString = "Hello!";
}
}
}
ho usato di DefinitelyTyped nei miei TestController.js.
Grazie! Rimozione del modulo testApp.Controller fa funzionare la cosa. Ma sono ancora curioso, perché non posso usare namespace per i miei controller e servizi angularjs con RequireJS? – Carven
Ogni file è un modulo nel mondo AMD/CommonJS – basarat
È ancora possibile utilizzarli se si precede il modulo con esportazione. Cioè 'export module' ma è sprecato chars – basarat