Ich verwende Angular 1 in VScode. Ich habe eine Hauptdatei, die alle meine Dienste, Controller usw. und require
sie gegen Angular definiert.jsDoc - set type ohne Datei zu importieren
angular.module('myApp', [])
.service('myService', require('./myService.js')
.controller('myController', require('./myController.js');
und der Service:
class MyService {
constructor() {}
}
module.exports = MyService;
und mein Controller
class MyController {
constructor(myService) {
/** @type {MyService} */
this.myService = myService;
}
}
module.exports = MyController;
Als Ergebnis intellisense hat keine Ahnung, was myService
innerhalb des Controllers ist. Ich hatte gehofft, dass der jsDoc-Kommentar dieses Problem gelöst hätte, da beide Dateien im selben Arbeitsbereich sind, aber nicht.
Ich habe den type-def
Kommentar gesehen und versucht, einen benutzerdefinierten Typ in die Servicedatei zu schreiben: /** {MyService} CustomService */
, dann verweisen Sie auf den CustomService-Typ in meinem Controller, aber das funktioniert auch nicht.
Im Kurzen Ist es möglich, sie ohne requiring
in die aktuelle Arbeitsdatei eine Klasse aus einer anderen Datei zu verweisen jsDoc in VSCode verwenden.
Danke für jeden Einblick alles.
Das brillant, versucht durch die Fragen suchen, sondern müssen dies verpasst haben. – ste2425