2017-06-25 1 views
2

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.

Antwort